http://pepelac.xyz/psearch.php
и обо мне http://pepelac.xyz/psearch.php?nick=tigrazone&pages=3&sleeptime=1&psycho=on&icq=on&email=on
пятница, 30 октября 2015 г.
simple adaptive antialias pass
- просмотреть все соседние пикселы(если 0 по х, сравнить с пикселом сверху)
- сравнение пикселов
- по каждой из x, y, z получить коэффициент отличия = min(x1,x2)/max(x1,x2)
- если этот коэффициент > константы макс. отличия(0.3 например), то установить флаг необходимости антиалиазинга и прервать цикл по x, y, z
- расчет точек углов, в которых затем усредняется делением на 4 получившиеся цвета в субпикселах, Java:
float xScale = scene.viewWidth / width;
float yScale = scene.viewHeight / height;
float left = (x - 0.25f*(1.1f-rndrnd.getFloat()*0.3f)) * xScale; //(0.8 .. 1.1)/4 = 0.2 .. 0.275
float right = (x + 0.25f*(1.1f-rndrnd.getFloat()*0.3f)) * xScale;
float above = (y - 0.25f*(1.1f-rndrnd.getFloat()*0.3f)) * yScale;
float below = (y + 0.25f*(1.1f-rndrnd.getFloat()*0.3f)) * yScale;
среда, 28 октября 2015 г.
bidirectional path tracing и ускорения
на основе https://github.com/githole/edubpt можно потестировать некоторые ускорения для bidirectional path tracing:
- Probabilistic Connections for Bidirectional Path Tracing
http://www.researchgate.net/figure/280603062_fig2_Figure-1-Our-Probabilistic-Connections-for-Bidirectional-Path-Tracing-approach -
Reducing the number of shadow rays in bidirectional path tracing
http://graphics.cs.kuleuven.be/publications/RTNOSRIBPT/
- Robust Adaptive Photon Tracing using Photon Path Visibility
http://cs.au.dk/~toshiya/amcmcppm.pdf - A Path Space Extension for Robust Light Transport Simulation
http://cs.au.dk/~toshiya/ups_tr.pdf
о distributed ray tracing и процедурных текстурах из старой книги
что сделано на сейчас
- взял чтение obj из akari2 и ускорил его в 2 раза. разбивка на фразы - strtok, затем токенизация в int с помощью adler32 и бинарный поиск. парсер obj легко расширяется новыми лексемами
- vcm. нашел, как, регулируя количество ligthing paths, сделать рендер более bpt или sppm-based. эта настройка также делает рендеры более или менее быстрыми. меняется от этой настройки и количество шума. нужно еще поработать с нею, т.к. картинки получаются временами более тёмными. что-то не то с делением на количество реально обработанных ligthing paths
- читаю исходники своего java renderer и беру оттуда работу с adaptive antialias
1/4
1/2
с adaptive antialias
to do
говорят, списки очень мотивируют на более быстрое воплощение мечты.
потому как получается визуально.
буду зачеркивать готовые пункты и писать дату и коментарии.
итак:
потому как получается визуально.
буду зачеркивать готовые пункты и писать дату и коментарии.
итак:
- 1/4, 1/2 превью, simple adaptive antialias pass
- obj чтение
- сделать фиксированный буфер (64kb)
- чтение формата сделать более полным
- qbvh для всей сцены
- чтение сцены
- текстуры и материалы
- текстуры
- процедурные материалы
- opengl работа с мышью
в simplemlt оптимизировать Color direct_radiance_sample() ибо очень ужасно выглядит
моя версия simplemlt https://github.com/tigrazone/simple-mlt/blob/master/simplemlt.cpp
Подписаться на:
Сообщения (Atom)