Введение в программирование трехмерных игр с DX9

       

Tень, отбрасываемая объектом при его освещении параллельным источником света



Рисунок 8.6. Tень, отбрасываемая объектом при его освещении параллельным источником света

На Рисунок 8.6 показана тень, отбрасываемая объектом при его освещении параллельным источником света. Луч света от параллельного источника, падающий в направлении L, и проходящий черз вершину p описывается формулой r(t) = p + tL. Пересечение луча r(t) с плоскостью n Ч p + d = 0 дает точку s. Набор точек пересечения, определяемый путем вычисления пересечения лучей r(t), проходящих через каждую из вершин объекта, с плоскостью, задает геометрию тени. Точка пересечения s легко вычисляется с помощью формулы проверки пересечения луча и плоскости:



Рисунок 8.7. Tень, отбрасываемая объектом при его освещении точечным источником света

<

На Рисунок 8. 7 показана тень, отбрасываемая объектом при его освещении точечным источником света, находящимся в точке L. Лучи света от точечного источника света, проходящие через вершину p описываются формулой r(t) = p + t(p – L). Пересечение луча r(t) с плоскостью n Ч p + d = 0 дает точку s. Набор точек пересечения, определяемый путем вычисления пересечения лучей r(t), проходящих через каждую из вершин объекта, с плоскостью, задает геометрию тени. Точка s определяется с помощью той же самой техники (формулы пересечения луча и плоскости), которую мы уже рассмотрели в разделе 8.3.1.

ПРИМЕЧАНИЕ

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

Содержание раздела