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


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

Трассировка лучей — это производная от алгоритма трассировки лучей, которая заменяет лучи, не имеющие толщины, лучами. Балки имеют форму неограниченных пирамид с (возможно, сложными ) многоугольными поперечными сечениями. Трассировка луча была впервые предложена Полом Хекбертом и Пэтом Ханраханом . [1]

При трассировке луча пирамидальный луч первоначально проходит через всю усеченную пирамиду обзора . Этот начальный луч обзора пересекается с каждым полигоном в среде, обычно от ближайшего к самому дальнему. Каждый полигон, пересекающийся с лучом, должен быть видимым, он удаляется из формы луча и добавляется в очередь рендеринга. Когда луч пересекается с отражающим или преломляющим полигоном, новый луч создается аналогично трассировке лучей.

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

Трассировка лучей решает некоторые проблемы, связанные с выборкой и алиасингом , которые могут мешать традиционным подходам к трассировке лучей. [2] Поскольку трассировка луча эффективно вычисляет путь каждого возможного луча внутри каждого луча [3] (который можно рассматривать как плотный пучок смежных лучей), он не так склонен к недостаточной выборке (отсутствующие лучи) или избыточной выборке. выборка (затраты вычислительных ресурсов). Вычислительная сложность, связанная с лучами, сделала их непопулярными для многих приложений визуализации. В последние годы алгоритмы Монте-Карло , такие как распределенная трассировка лучейлегкий транспорт Метрополиса ?), стали более популярными для расчетов рендеринга.

В «обратном» варианте трассировки лучей лучи от источника света направляются в окружающую среду. Подобно фотонному отображению , обратная трассировка луча может использоваться для эффективного моделирования световых эффектов, таких как каустика . [4] Недавно метод трассировки обратного луча также был расширен для обработки взаимодействий глянцевых и диффузных материалов (глянцевая трассировка обратного луча), например, от полированных металлических поверхностей. [5]