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

Один из простейших алгоритмов определения видимости для данного пиксела заключается в том, что из центра проектирования через данный пиксел выпускается луч и находится ближайшее к картинной плоскости пересечение этого луча с гранями сцены (рис. 7.11).

Метод трассировки лучей 96

Рис. 7.11. Метод трассировки лучей 96

Этот алгоритм называется методом трассировки лучей (ray casting). Данный алгоритм можно обобщить до метода получения фотореалистических изображений {ray tracing).

Сам алгоритм трассировки лучей можно представить следующим фрагментом псевдокода:

for all pixels:

for all objects:

findjntersection compdre distdnce

Простейшая реализация этого алгоритма имеет вычислительную сложность O(NP), где N — количество объектов, Р — число пикселов. Однако существует ряд оптимизаций, позволяющих получить оценку O(PlogN). Одним из плюсов данного алгоритма (кроме его простоты) является возможность работы с широким классом различных объектов, не являющихся многоугольниками. Основное требование к объекту — возможность найти точки пересечения объекта с произвольным лучом. Однако на практике этот алгоритм редко применяется для рендеринга в режиме реального времени и является достаточно ресурсоемким.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >