Возможен ли трасировщик лучей реального иремени?
Возможно ли создать трасировщик лучей для графики реального времени и стоит ли применять для этого OpenGL или DirectX?
Простенький трассировщик лучей использующий GPU я видел, и работает он действительно в реальном времени ;). Но там сцена очень простая - зеркальный куб. На более серьезные подвиги он не способен. Я считаю, что на данный момент на обычном железе создать трассировщик лучей реального времени нельзя - на CPU медленно, а на GPU сделать его пока нельзя.
Думаю если привлечь дорогостоящее оборудование, то вполне реально. Трассировка лучей очень хорошо распараллеливается, поэтому можно эффективно использовать многопроцессорную машину. Вот сейчас работаю с 8-ми процессорным сервером (в каждом проце по два ядра, итого 16 доступных вычислителей). Показатели весьма неплохие, на 16-ти потоках достиг 15.2-кратного увеличения производительности.
Демку можно скачать отсюда (12м:( ) ftp://ftp.scene.org/pub/parties/2003/breakpoint03/demo/stillsuckingnature_by_fan.zip
Слышал, intel хочет сделать специальную железяку для трассировки лучей в реальном времени
Такую железяку уже делали все, кому не лень. Правда, железка получается дорогая, а прирост производительности не очень высоким. Дешевле и проще пока использовать несколько процессоров в параллели.
Если не нужно большого разрешения и супер-пупер эффектов, одного CPU с MMX и прочими наворотами хватит вполне. С разрешением 320x240 и бутылкой пива потянет.
Короче, ясно. Тема закрыта.