К сожалению ни каких демок не нашел, но видео смотрится неплохо, хотя и сильно стерильно.
Там они показывают либо с движущейся камерой, либо с движущимся и/или меняющимся источником света. Видимо в этом ограничение метода.
Обещанная демка:
http://www.mediafire.com/?sharekey=45274f08737439b47432d3c9683f45… 01fe6e4055ae3
Небольшие комментарии по управлению:
Пробел - менять кубмап
w,s,a,d - двигаться
На цифровой клавиатуре:
+,- - вкл/выкл источник света
4,1 - интенсивность источника света
6,3 - интенсивность диффузной компоненты материала
8,2 - интенсивность отражения
7,9 - интенсивность самозатенения отражения
/,* - пиковость (чёткость) отражения
К сожалению, демка с локальными источниками света не сохранилась , хотя она мне нравилась больше, как и исходники для этой демки. Но, думаю, сделать это заново не сложно.
Надеюсь, понравится.
1. за ушами у зайца артефакт
2. может я путаюсь в терминах, но мне всегда казалось, что glossy - это отражения, которые зависят от угла наблюдения (положения камеры), а в демке всего лишь обычные interreflections
3. glossy делается через матрицу NxN сферических гармоник (где N - это число используемых гармоник), чего нет в этой демке
4. Вы не пробовали делать CPCA? (или как там слоан это называет, когда они "кластеризуют"). В старом SDK был API, чтобы это дело считать.
1. Это фича ) Если честно, то даже и не знаю, что отвечать на этот вопрос.
2. То же, что и с первым вопросом. Всё вроде бы зависит, всё работает. Сырцы в шейдерах есть, если кто не верит, можно просто туда посмотреть и убедиться.
3. Да. О том и статья. О том, что это всё можно приблизить генерацией конуса и интеграцией света по этому отражённому конусу. Таким же образом можно считать самозатенение отражений.
4. Пробовал. Там сложного ничего нет: PCA + clustering. Вопрос: зачем его считать? Он считал для сжатия всего этого. Он формирует базис, после чего делает скалярное произведение со входящим светом НА CPU. Таким образом восстановление сигнала входящего света становится невозможным в шейдере. Однако это необходимо для данного подхода, чтобы посчитать отражения или локальное освещение. К тому же, CPCA экономит не так много памяти при приемлемом качестве.
neep,если не сложно,перезалей на нормальный файлообменик,ну там letitbit,ifolder...
и скриншоты, пожалуйста
BringerOfDawn
> Real-Time Global Illumination on GPU содержит главу Spherical Harmonic Representation of Incoming Radiance Field.
Вроде описанная метода смахивает на примененную в CryEngine3.
В связи с чем, уважаемый neep, будет ли обещанная статья про GI в CryEngine3?
ЗЫ. Лопата у меня есть, если что. )
Jet Hadron
> Вроде описанная метода смахивает на примененную в CryEngine3.
Ну это как бы оно и есть.... :)
> будет ли обещанная статья про GI в CryEngine3?
Я лично очень жду. Вроде должна быть.
Sergio
> Ну это как бы оно и есть.... :)
Хм. В данном способе сцена рендерится в cubemap в каждой точке регулярной сетки, потом из них генерятся сферические гармоники. В крайзисе же используются reflective shadow maps, которые потом каким то хитрым образом преобразуются в сф. гармоники. Если я ничего не перепутал. )
В общем, статью надо обязательно. Хорошо, если статья будет не просто переводом на русский этого www.crytek.com/fileadmin/user_upload/inside/presentations/2009/Li… n_Volumes.pdf
Jet Hadron
> Хорошо, если статья будет не просто переводом на русский этого
А что еще нужно-то? Там все вроде расписано, вплоть до шейдеров.
Z
> А что еще нужно-то?
Была б статья, а вопросы всегда найдутся. )
Ну она же есть!
Z
> Ну она же есть!
Угу, а вопросы кому задавать?
Можешь ответить, как конкретно реализован point cloud set of VPLs generation? Я из статьи не врубаюсь.
Z
> http://www.vis.uni-stuttgart.de/~dachsbcn/download/rsm.pdf
Ок, пробежал статью. А зачем в крайзисе используют всякие разные сф. гармоники и propagation, если для GI достаточно RSM? Не плохо бы сравнить качество GI с RSM и с RSM+Propagation.
Добавлено.
Вроде врубился зачем. )))
Тема в архиве.