Schatten (Computergrafik)
# Schatten (Computergrafik)

Schatten in der Computergrafik dienen zur Verankerung von Objekten in einer Szene. So kann man Aussagen über die Lage der Objekte in der Szene machen (Tiefe, Abstand zur Fläche). Weiterhin wird durch einen Schatten die Richtung der Beleuchtung hervorgehoben.

Man unterteilt den Schatten in Kernschatten (Umbra) und Halbschatten (Penumbra). Der Kernschatten ist der zentrale, deutlich abgegrenzte dunkle Teil im Zentrum, der Halbschatten das hellere den Kernschatten umgebende Gebiet. Letzterer ist sehr aufwendig zu berechnen, weshalb man beim Echtzeitrendern fast ausschließlich Punktlichtquellen einsetzt, die nur den Kernschatten generieren.

Eine andere Möglichkeit besteht darin, die Projektion eines schattenwerfenden Objekts von der Lichtquelle auf eine Ebene zu berechnen. Um weiche Schatten zu rendern, kann eine flächige Lichtquelle durch mehrere Punktlichtquellen ersetzt werden; der resultierende Schatten ist die Summe der Schatten dieser Lichtquellen. Ebenfalls möglich ist es, einen harten Schatten zu verwischen oder Farbverläufe zu zeichnen. Zum Rendern von harten Schatten können auch sogenannte Shadow Volumes verwendet werden. Eine weitere Möglichkeit sind Shadow Maps. Dabei wird die Szene in einen Z-Buffer aus der Sicht der Lichtquelle (Shadow Buffer) gezeichnet, sodass dieser die Distanz zu den nächsten beleuchteten Objekten enthält. Durch den Vergleich der Tiefeninformation im normalen Z-Buffer mit der Tiefeninformation im Shadow Buffer lässt sich ermitteln, ob ein Punkt im Schatten liegt.

Um die Schatten realistisch, also nach physikalischen Modellen, zu berechnen, wird viel Zeit benötigt. Beispiele für Algorithmen zum Erzeugen von fotorealistischen Schatten sind Diffuses Raytracing oder Radiosity.

