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).