Участник:Vlamakarenko/Трассировка лучей
Основные авторы описания: В.А.Макаренко, Р.А.Габдуллин
Свойства и структура алгоритма
Общее описание алгоритма
Трассировка лучей - это технология визуализации трехмерных сцен путем отслеживания обратной траектории лучей света (от наблюдателя к источнику). Достоинствами данного метода являются реалистичность итоговых изображений, возможность визуализации гладких объектов без аппроксимации полигональными поверхностями, простота реализации отражений, преломлений, взятия в фокус, реалистичного освещения; возможность параллельной обработки лучей.
Математическое описание алгоритма
Алгоритм трассировки лучей работает с камерой (наблюдателем), множеством объектов сцены и множеством источников освещения. Камера задается положением (точка в трехмерном пространстве) и ортонормированным базисом (локальная система координат). Поставим перед камерой полотно, разбитое на пиксели. Выпустим через каждый пиксел луч. Найдем первое пересечение луча с объектами сцены, расчитаем цвет объекта в точке пересечения (зависит от положения наблюдателя, положения источников света, материала объекта; возможно, понадобится выпустить новые лучи из точки пересечения, чтобы расчитать отражения, преломления, тени от других объектов) и присвоим его соответствующему пикселу.
Вычислительное ядро алгоритма
Основные вычисления связаны с:
1) поиском пересечения луча с объектами сцены
2) расчетом теней от каждого источника света (требуется определить, "виден" ли источник света из точки пересечения с объектом).