Friday, December 7, 2012

BRDF Exlporer



Собрал из исходников Диснеевский BRDF Explorer под OpenSuse.
Описание и исходники можно найти тут:
http://www.disneyanimation.com/technology/brdf.html
В начале были сложности с компиляцией. Не знаю почему, но в Qt-шном pro-файле были странные переменные с двумя знаками $$, из за чего QtCreator наотрез отказывался компилировать файлы.
После удаления этих знаков, все собралось без проблем.
Но при запуске программы начались другие проблемы...


В файле поиска каталогов Path.cpp были вроде правильные конструкции:
return "./images/"; и все в таком духе.
 Но каталоги упорно не находились. Пришлось поменять на:
return QCoreApplication::applicationDirPath().toStdString() + "/images/";
и все заработало.
Ниже небольшое видео с интерфейсом.

Wednesday, November 14, 2012

Renderman + GPU: Реализация SSAO

Давно хотел реализовать Screen Space Ambient Occlusion в рендермане. Конечно результат не точный, но применять эту технологию для производства сериалов вполне целесообразно. Понятное дело, перебирать точки на z-map и p-map на CPU неинтересно. Гораздо целесообразнее переложить эту работу на GPU. В первом приближении я не стремился сделать работу быстрой и правильной. Хотел лишь убедиться что смогу в память карты загрузить exr с z-map и CUDA kernel вызываемый из Renderman Shading Plugin сможет "бегать" по текстуре. По сути это трейсинг в в height field'е, описаный в http://steps3d.narod.ru/tutorials/ssao-tutorial.html .
Для оптимизации думаю разбить на две kernel-а: один для сэмплов каждой точки Grid-а , второй для суммирования полученных сэмплов.  Еще изображения с различными параметрами радиуса и порога глубины.
 

Hello World!

Всем привет! Как то так получилось, что я завел свой технический блог на английском, в основном для языковой практики. Но со временем, помимо англоязычных читателей появились и русскоязычные, которые иногда просят тоже самое объяснить на русском.  Так что буду наверстывать упущенное.