Трассировка лучей (рейтрейсинг) — один из методов геометрической оптики — исследование оптических систем путём отслеживания взаимодействия отдельных лучей с поверхностями. В узком смысле — технология построения изображения трёхмерных моделей в компьютерных программах, при которых отслеживается обратная траектория распространения луча (от экрана к источнику).

Трассировка лучей в компьютерных играх — это решение для создания реалистичного освещения, отражений и теней, обеспечивающее более высокий уровень реализма по сравнению с традиционными способами рендеринга. Turing стала первой архитектурой, позволяющей проводить трассировку лучей в реальном времени на GPU.


Достоинства:

— Возможность рендеринга гладких объектов без аппроксимации их полигональными поверхностями (например, треугольниками);

— Вычислительная сложность метода слабо зависит от сложности сцены;

— Высокая алгоритмическая распараллеливаемость вычислений — можно параллельно и независимо трассировать два и более лучей, разделять участки (зоны экрана) для трассирования на разных узлах кластера и так далее;

— Отсечение невидимых поверхностей, перспектива и корректное изменения поля зрения являются логическим следствием алгоритма.


Недостатки:

Серьёзным недостатком метода обратного трассирования является производительность. Метод растеризации и сканирования строк использует когерентность данных, чтобы распределить вычисления между пикселями. В то время как метод трассирования лучей каждый раз начинает процесс определения цвета пикселя заново, рассматривая каждый луч наблюдения в отдельности. Впрочем, это разделение влечёт появление некоторых других преимуществ, таких как возможность трассировать больше лучей, чем предполагалось для устранения контурных неровностей в определённых местах модели. Также это регулирует отражение лучей и эффекты преломления, и в целом — степень фотореалистичности изображения.


Свободное программное обеспечение:

— BRL-CAD

— Cycles (Blender)

— LuxRender

— Sunflow

— YafaRay

— POV-Ray


Проприетарное программное обеспечение:

— Arnold

— Brazil R/S

— BusyRay (плагин к 3DS MAX)

— finalRender

— Fryrender

— Gelato

— Holomatix Rendition (интерактивный рейтрейсер)

— Indigo Renderer

— Kerkythea

— Mantra (как часть пакета Houdini)

— Maxwell Render

— mental ray

— RenderMan (PhotoRealistic или PRMan)

— V-Ray

— bCAD

— SolidWorks


   Мировой опыт