7.4. Локальный источник
Уравнение (6) для бесконечно удалённого источника
света может быть обобщено для случая, когда источник света находится на
конечном расстоянии от объекта. В этом случае нам понадобятся дополнительные
вычисления на каждую вершину, т.к. каждая вершина имеет, в общем случае, своё
собственное направление на источник света. Тем не менее, в этом случае мы тоже
можем перенести большую часть вычислений в матрицу М5.
Если L это точка расположения источника света, то (3) принимает вид: S = P + a(P - L) (9)
и снова нам необходимо произвести проекцию на плоскость z=0, т.ч.
Если использовать гомогенизацию после преобразования, то (11) можно записать в виде матрицы
-zs 0
xs 0
M5k = 0 -zs 0
0 (12)
0 0
-ys 0
0 0 1
-zs
Опять, имея координаты точки P в мировом координатном пространстве, можно записать:
Sk = M5k * P (13)
после чего провести гомогенизацию точки Sk
для получения проекции точки P на плоскость z=0.
Существует несколько ситуаций, когда тени
не нужны:
1.
Когда
нет источника света.
2.
Когда
совмещены наблюдатель и источник света.
3.
Когда
солнце в Зените.