Доброго времени суток, господа!
Занимаюсь 3D графикой примерно полтора года. Изучаю DirectX, познакомился с вершинными, пиксельными шейдерами, пописал Shadow Mapы.
Недавно начал набирать материал по технологии трассировки лучей. Насколько я понял, это особый метод визуализации, где через каждый пиксель экрана моделируется луч, который идёт до первого столкновения, а дальше для найденного пикселя вычисляется свет и т.д. Это называется Ray Casting (если я что-то неправильно написал, либо несу вообще полнейшую чушь напишите пожалуйста).
То есть визуализация с помощью трассировки лучей в корне отличается от визуализации стандартными методами DirectX. Все источники, на которые я наткнулся никаких графических ускорителей не использовали.
Вопрос заключается в следующем: возможно ли реализовать метод трассировки лучей методами DirectX? Какие шейдеры мне понадобятся (насколько я помню, их там штук 5-6)? Буду очень благодарен, если мне не только ответят возможно ли, но и опишут каким образом всё это организовать. Также буду рад всем пейперами и ссылкам на соответствующую информацию.
Заранее благодарен!
Думаю, на compute shader можно сделать. Но сам не делал, только на ЦПУ.
Полностью в пиксельном или компут шейдере считать. Загляни на shadertoy.com, там полно разных сцен трассируют (3д модели использовать сайт не даёт).
У Nvidia есть "рилтайм рейтресинг" демки, может у них есть какие уроки?
обычно демки нвидии на эту тему = CUDA
Mr F а как именно на вычислительном шейдере сделать трассировку не подскажете? shadertoy.com в этом не очень помагает
Offline path tracing на DX11. Пример нагло спизжен с shadertoy.com.

SlyF0x
видос, где чел с нуля пишет. сам когда начинал трейсить, его смотрел: http://www.youtube.com/watch?v=9g8CdctxmeU
Тема в архиве.