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

Тот же самый принцип может быть с легкостью применен для вычисления теней: если между интересующей нас точкой и источником света расположен какой-нибудь объект, то такая точка находится в тени этого объекта по отношению к данному источнику света. Следовательно, определение такого затенения эквивалентно решению следующего вопроса: существует ли какой-нибудь объект, имеющий с «щупом теней» время соударения в диапазоне от нуля до единицы.

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

Введение в трассировку лучей

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

Лучи - вещь простая и работать с ними легко, поэтому не составляет труда произвести испускание новых лучей из заданной стартовой точки в некотором новом направлении и затем проверить, с какими объектами сцены они соударяются. Это обеспечивает прямую возможность накапливать составляющие света, возникающие при его отражении от блестящих поверхностей и при его прохождении сквозь прозрачные предметы. Реализация этих технологий требует незначительных программистских усилий.

Применение методов трассировки лучей для CSG-объектов радикально увеличивает разнообразие сцен, для которых возможна визуализация. Можно моделировать и производить трассировку в высшей степени сложных форм. Внутренняя логика алгоритма трассировки лучей для CSG-объектов проста и легко реализуема в программах.


⇐ Предыдущая| |Следующая ⇒