Трассировка лучей

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Raytracing reflection.png

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

Достоинства и недостатки текущих реализаций метода[править | править вики-текст]

Алгоритм трассировки лучей

Достоинства[править | править вики-текст]

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

Недостатки[править | править вики-текст]

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

Программное обеспечение[править | править вики-текст]

Свободное[править | править вики-текст]

Открытое[править | править вики-текст]

Проприетарное[править | править вики-текст]

Ссылки[править | править вики-текст]

Программное обеспечение[править | править вики-текст]