time of renders are same
четверг, 23 февраля 2017 г.
среда, 22 февраля 2017 г.
вторник, 21 февраля 2017 г.
bidirectional path tracing и потоки
настроил я наконец-то многопоточность.
теперь потоки друг друга не перебивают и не делают дикую мешанину из семплов
теперь потоки друг друга не перебивают и не делают дикую мешанину из семплов
суббота, 18 февраля 2017 г.
bidirectional path tracing, DOF и темнота
пятница, 17 февраля 2017 г.
vertex connection and merging. обьяснение и связь с bidirectional path tracing
типичный bidirectional path tracing выглядит так:
для каждого пиксела:
для каждого пиксела:
- выпустить луч из источника освещения, сохранить всё куда он попал
- выпустить луч из камеры, сохранить всё куда он попал
- обьединить между собой вершины обоих путей
двухпроходный: 1й проход - light tracing, сохраняет куда какой луч попал и что полезного обнаружил, 2й проход - лучи из камеры пересекаются с сохранными light-путями(как в bidirectional path tracing), а также луч находит световые эффекты, которые просчитываются по алгоритму progressive photon mapping на основе той же сохраненной информации о вершинах из light tracing-прохода.
path reuse - это взять сохраненные light-вершины и информацию, найденую на этапе light tracing брать не только для обрабатываемого пиксела, но и для соседних. никаких выпусков лучей не происходит. собирается информация об уже выпущеных лучах. соединяются между собой вершины light и луча из камеры, давая новые эффекты
и это - не обман и не приблизительное
четверг, 16 февраля 2017 г.
среда, 15 февраля 2017 г.
photon beams, point-to-beam connections, beam-to-beam connections из оригинального SmallUPBP
собирал очередную сборку своего рендера на основе SmallUPBP b в одном из тестов обнаружил, что сломал логику и сами части рендера слишком увлекшись упрощениями.
вернулся к мастер-версии с https://github.com/PetrVevoda/smallupbp/zipball/master, собрал с единственными изменениями - отключив все sse4-инструкции.
добавлю в мастер-версию только изменения, которые гарантированно полезны - ускоряют, меньше памяти и не ломают работу рендера.
затем проверил, работают ли photon beams - 2 метода - работают!
и решил сравнить в чем между ними отличия
по времени - с photon beams картинки считались в 2-2,5 раза дольше
вернулся к мастер-версии с https://github.com/PetrVevoda/smallupbp/zipball/master, собрал с единственными изменениями - отключив все sse4-инструкции.
добавлю в мастер-версию только изменения, которые гарантированно полезны - ускоряют, меньше памяти и не ломают работу рендера.
затем проверил, работают ли photon beams - 2 метода - работают!
и решил сравнить в чем между ними отличия
по времени - с photon beams картинки считались в 2-2,5 раза дольше
вторник, 14 февраля 2017 г.
bidirectional path tracing эксперимент с многопоточностью
параллельно обрабатывается цикл по всей картинке, параллельно обрабатываются семплы - где-то 1, где-то 5
в параллельной обработке что-то сломалось и программа окончилась аварийно без обьяснений
до её завершения собрал как это было в анимации
уменьшено в 2 раза
в параллельной обработке что-то сломалось и программа окончилась аварийно без обьяснений
до её завершения собрал как это было в анимации
уменьшено в 2 раза
воскресенье, 12 февраля 2017 г.
nanort - не только минималистическая замена embree, но и хороший исходник bidirectional path tracer
NanoRT, single header only modern ray tracing kernel https://github.com/lighttransport/nanort
в примерах использования идёт bidir_path_tracer
1000 spp, max 8 bounces
возможности этого мини-рендера:
в примерах использования идёт bidir_path_tracer
1000 spp, max 8 bounces
возможности этого мини-рендера:
- загрузка obj-файлов с материалами - tiny_obj_loader
- обработка материалов из obj-файла. прозрачность, источник света излучающий - из материалов
- построение и использование nanort, который ловко справляется с такими моделями - 362k треугольников
- выбор ламп для light tracing происходит не случайно, а по статистической таблице, что делает картинку точнее, меньше артефактов-ярких точек
- сохранение exr - результат работы рендера, необработанные float
- сохранение png - простой clamping tonemap и сохранение с помощью stb_image_write
- сохраняет hdr - необработанный float, stb_image_write
- сохраняет png - теперь с помощью lodepng - файл получается меньше. stb_image_write-вариант сохранения png отключил. обратил на lodepng внимание после тестов
- сохраняет bmp, tga, используя код из stb_image_write
edubpt+nanort
edubpt уважаю уже давно http://thrlite.blogspot.com/search?q=edubpt
а чтение исходников nanort наталкивает на интересные размышления
очень хорош edubpt и как testbed для методов рендеринга
а чтение исходников nanort наталкивает на интересные размышления
очень хорош edubpt и как testbed для методов рендеринга
суббота, 11 февраля 2017 г.
Подписаться на:
Сообщения (Atom)