Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > [C++/DirectX] видимый свет


Автор: Ferrisgeneral 23.11.2010, 15:34
как можно сделать видимый свет от источника света (например уличный фанарь ночью) ?

как задать свечение точки где находится источник света (например солнце) ?

Автор: BorisVorontsov 24.11.2010, 13:09
Я так понимаю, тебе нужна простая визуализация источника? Для этого можно использовать старый, простой метод, с отображением бликового спрайта, всегда направленного по -видовому вектору, с дополнительной подсветкой поверхности, испускающей свет, направленным источником света. Можно воспользоваться современным методом, через шейдеры. Называется он Self-emission material (или texture). В интернете есть примеры реализации, например, http://www.daionet.gr.jp/~masa/archives/GDC2004/GDC2004_PIoHDRR_EN.ppt

Автор: Ferrisgeneral 24.11.2010, 17:40
за идейку насчет спрайтика спасибо  smile 

но еще бы хотелось узнать всетаки как сделать видимый свет, как в этом примерчике
http://developer.download.nvidia.com/SDK/10.5/direct3d/Source/rain/doc/RainSDKWhitePaper.pdf
но только под 9-ю версию DirectX.

Автор: BorisVorontsov 24.11.2010, 19:24
Цитата(Ferrisgeneral @  24.11.2010,  17:40 Найти цитируемый пост)
но еще бы хотелось узнать всетаки как сделать видимый свет, как в этом примерчике

В этом примере приведена реализация дождя. Если ты имеешь ввиду скриншот с фонарями, то там, скорее всего, используется комбинация шейдера, рисующего self-emit surface c Гауссовским размытием. Пример реализации Bloom есть в DX SDK, а с теорией ты можешь ознакомиться здесь: http://wiki.gamedev.net/index.php/D3DBook:High-Dynamic_Range_Rendering

Автор: Ferrisgeneral 25.11.2010, 13:14
ок, спасибо ... буду разбираться  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)