Статья:Глобальное освещение(Radiosity)
И так,Radiosity - один из методов глобального освещения(Global Illumination,GI).
Радиосити даёт довольно реалистичное освещение нежели простые методы. Есть open-source реализации Global Illumination рендеринга такие как Toxic(найти можно на SourceForge.net). Единственный минус GI это довольно таки долгий расчёт из за моножества вычислений так что GI в наше время можно юзать как статическое(фоновое) освещение,заранее расчитаное. Но со скорым выходом NVIDIA RayTrace Engine(Точное название не помню) возможно GI можно будет выбить в риал тайм,есть конечно уже реализация риал тайм GI от ATI на DirectX 10 где юзаются кубмапы,но и там оно не сильно риал тайм,да и у меня на NVIDIA GeForce 9600 GT почемуто не запускается их пример,найти его можно на developer.amd.com. А ха да что то я уже в дебри полез :-D ,так Radiosity - не юзает рей трейсинг в то время как просто GI его во всю юзает. И так реализация: Я раскажу о повершином Radiosity,но правельнее же конечно юзать лайтмеп(но это отдельная тема). У нас в сцене есть комнота,все её цвета вершин заполнены чёрным цветом(r=0,g=0,b=0) на потолке комнаты есть лампа - меш все её цвета вершины заполнены белым цветом(r=225,g=225,b=225),начинаем проход по всем мешам\сурфейсам мешей\вершинам сурфейсов,ах да в Radiosity юзается такая штука как Form Factors для определения интенсивности освещёности пикселя,генерируется Form Factor'ы так: Код:
тоесть будет токой цикл: Код:
for(int i=0;i<num_meshes;i++) 1) Камера перемещается в позицию вершины k,её направление равно нормали вершины k(в блитце можно для этого заюзать AlignToVector),вьюпорт камеры - x=0;y=0;width=RQ;height=RQ;FOV=90 - обязательно 90. 2) Рисуется вся сцена из текущей позиции камеры(желально вырубить режим куллинга) 3) Считывается кусок backbuffer'а - x=0,y=0,w=RQ,h=RQ. Далее ЦИКЛ: Код:
unsigned char tmp[3]; Код:
tmp[0] /= RQ*RQ; ну и так по все вершинам... Вот как будет выглидеть полностью цикл: Код:
camera->setViewport(0,0,RQ,RQ); 4 пасса - 16 пассов - Полезные ссылки: -http://freespace.virgin.net/hugo.eli.../radiosity.htm -http://democoder.ru/dcdn_article_view.php?dcid=22 |
Ответ: Статья:Глобальное освещение(Radiosity)
Пример для B3D в процессе.
|
Ответ: Статья:Глобальное освещение(Radiosity)
Цитата:
что такое форм факторс и почему у меня должны получаться какие-то градиентные круги на каждый пиксель тема чрезвычайно интересует, буду признателен за более понятное объяснение хотя тут довольно рульно описано |
Ответ: Статья:Глобальное освещение(Radiosity)
Цитата:
|
Ответ: Статья:Глобальное освещение(Radiosity)
Цитата:
ps. статья чисто для копипаста, никакой теории |
Ответ: Статья:Глобальное освещение(Radiosity)
Цитата:
p.s напиши лучше. |
Ответ: Статья:Глобальное освещение(Radiosity)
"какое ни какое но тоже чтото" всё равно спасибо за старания)
|
Ответ: Статья:Глобальное освещение(Radiosity)
|
Ответ: Статья:Глобальное освещение(Radiosity)
такое ощущения что на нижних грянях кубов есть лампочка) и освещает поверхность под ними
|
Ответ: Статья:Глобальное освещение(Radiosity)
Цитата:
На белые полоски на рёбрах боксов не обращайте внимания,у меня лайтмеп всё ещё страдает... Это означает что и на нижних рёбрах есть полоски а в радиосить все светлые объекты автоматом становятся источниками,тоесть в радиосить сурфейсные источники юзаются(по крайней мере у меня),что на мой взгляд даёт много приимуществ например источники можно будет любых форм делать =). Щас работаю над Irradiance Volume. |
Ответ: Статья:Глобальное освещение(Radiosity)
Цитата:
|
Ответ: Статья:Глобальное освещение(Radiosity)
Genius
Цитата:
|
Ответ: Статья:Глобальное освещение(Radiosity)
Жаль для БЪЭ 3 Де нет примера !!
а так, статья so-so... |
Ответ: Статья:Глобальное освещение(Radiosity)
Цитата:
upd: -http://www.cs.utah.edu/~shirley/papers/irradiance.pdf -http://ati.amd.com/developer/gdc/Tat...ce_Volumes.pdf -http://www.crytek.com/fileadmin/user...on_Volumes.pdf |
Часовой пояс GMT +4, время: 05:36. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot