Zur Berechnung von Schatten eignen sich alle Hidden-Surface-Algorithmen, da die verdeckten Flächen einer Szene genau den beschatteten Flächen entsprechen, wenn die Position der Lichtquelle und des Betrachters zusammenfallen.
Zunächst wird daher als Phase 1 aus der Sicht der
Lichtquelle die Szene in einen Schattentiefenpuffer
abgebildet.
Phase 2 berechnet dann für
den jeweiligen Betrachtungsstandpunkt die
Szene mit einem modifizierten Tiefenpuffer-Algorithmus:
Ergibt die Überprüfung des -Wertes mit dem Eintrag
tiefe[x,y] im Tiefenpuffer, daß dieses Pixel
sichtbar ist, so wird der Punkt
in den
Koordinatenraum von Phase 1 transformiert.
Ist die
-Koordinate
des transformierten Punktes
größer
oder gleich dem Eintrag
im Schattentiefenpuffer,
dann liegt der Punkt
nicht im Schatten,
andernfalls liegt er im Schatten, und seine Intensität muß
entsprechend reduziert werden.
Schatten können auch mit Hilfe von Maps berechnet werden (s. folgendes
Kapitel).