Beleuchtungsmodelle der Computer Grafik

Ein tutorielles System von Oliver Stephan

Beleuchtungsmodelle legen die Farbe einer Fläche an einem bestimmten Punkt fest. Dabei werden Materialeigenschaften des Körpers, Farbe und Helligkeit der Lichtquellen, Position von Körper, Lichtquellen und Beobachter berücksichtigt. Beleuchtungsmodelle werden sehr oft fälschlicherweise mit Schattierungsverfahren gleichgesetzt. Der Begriff Schattierungsmodell hat jedoch eine komplexere Bedeutung. Ein Schattierungsmodell beschreibt weitergehende Verfahren, die Beleuchtungsmodelle umfassen [Foley94]. Zum Beispiel wendet ein Schattierungsmodell ein Beleuchtungsmodell für alle Pixel einer Fläche an, während andere nur für manche Pixel ein Beleuchtungsmodell verwenden und die Farbe der restlichen Pixel durch Interpolation bestimmen.

Um die Berechnungen zu vereinfachen, werden in der Computergrafik die zugrundeliegenden Regeln der Optik und Wärmestrahlung oft nur angenähert. Deshalb enthalten viele der traditionellen Beleuchtungs- und Schattierungsmodelle eine Reihe von Vereinfachungen. Es gibt verschiedene Stufen von Approximationen der Realität, die in der Praxis ansprechende und nützliche Ergebnisse liefern.

1. Einfache Beleuchtungsmodelle

Die einfachen Modelle betrachten einen einzelnen Punkt einer Fläche und wie die darauf scheinende Lichtquelle wirkt. Zuerst werden "farblose" Flächen und Lichtquellen behandelt, nur die Helligkeit eines Punktes wird berechnet. Später wird die Verallgemeinerung der Berechnung auf farbige Objekte und verschiedenfarbige Lichtquellen durchgeführt.

Die Komplexität der Beleuchtungsgleichungen steigt mit der durch ihre Anwendung erzielte Realitätsnähe. Am einfachsten ist das Modell der ambienten Reflexion, womit alle Flächen ohne Helligkeitsunterschiede dargestellt werden. Danach folgt die diffuse Reflexion, die auch Lambert Reflexion genannt wird. Hierbei sind schon Intensitätsabstufungen zu beobachten. Der Effekt eines natürlichen Glanzpunktes auf Oberflächen wird mittels gerichteter oder spiegelnder Reflexion erzielt. Sämtliche Beleuchtungsmodelle können durch das Modell von Warn verbessert werden. Es simuliert gerichtete Lichtquellen.

Die hier betrachteten Beleuchtungsmodelle beruhen weniger auf physikalischen Grundlagen, als auf gesundem Menschenverstand und praktischen Ansätzen der Computergrafik. Auf die Modelle von Cook und Torrance [Foley94] wird nicht näher eingegangen. Die Grundlage dieses Abschnitts ist Kapitel 16.1 aus [Foley94]. Die Abbildungen wurden direkt übernommen oder dienten als Vorlage.

1.1 Ambiente Beleuchtung

Das Modell, in dem es keine äußere Lichtquelle gibt, bei jedem Objekt die Intensität sozusagen eingebaut ist, kann man sich als ziemlich unrealistische Welt nicht reflektierender, selbstleuchtender Objekte vorstellen. Die Objekte erscheinen als einfarbige Silhouette, es sei denn, seine einzelnen Teile sind unterschiedlich schattiert.

Mit einer Beleuchtungsgleichung, deren Variablen dem jeweiligen Punkt auf der Oberfläche des Objektes zugeordnet sind, wird ein Beleuchtungsmodell beschrieben. Die Auswertung der Beleuchtungsgleichung an einem oder mehreren Punkten eines Objekts nennt man Beleuchten des Objekts. Die Gleichung für dieses einfache Modell lautet:

(1)

I ist die resultierende Intensität des Punktes, der Koeffizient ki bezeichnet die dem Objekt eigene konstante Intensität. Diese Gleichung enthält keine Ausdrücke, die von der Lage des jeweiligen Punktes abhängen, weshalb man sie nur einmal für jedes Objekt auswerten muß.

Geht man von einer diffusen Lichtquelle ohne bestimmte Richtung aus, entsteht ambientes Licht, das durch viele Lichtreflexionen an den Flächen der dargestellten Szene entsteht. Ambientes Licht nennt man auch indirekte Beleuchtung oder Hintergrundbeleuchtung. Gleichung (1) wird zu

(2)

Ia ist die Intensität des indirekten Lichts und wird für alle Objekte als konstant angenommen. Der ambiente Reflexionskoeffizient ka liegt zwischen 0 und 1. Er gibt den Anteil des indirekten Lichts an, den die Oberfläche reflektiert. Damit zählt der ambiente Reflexionskoeffizient zu den Materialeigenschaften eines Objekts. Zusammen mit anderen Eigenschaften, die noch behandelt werden, charakterisiert er das Material, aus dem die Oberfläche des Objekts besteht. Der ambiente Reflexionskoeffizient steht nicht in direkter Verbindung zu einer physikalischen Eigenschaft des Materials, er ist eine empirische Größe.

Die ambiente Beleuchtung allein ist nicht besonders interessant und sieht auch keineswegs natürlich aus. Jedoch behandelt diese Komponente der resultierenden Intensität eines Punktes all die komplexen Möglichkeiten der Beleuchtung, die nicht durch andere Methoden in der Gleichung zum Ausdruck kommen werden.

1.2 Lambert Reflexion

Indirekt beleuchtete Objekte sind proportional zur Intensität des Umgebungslichts mehr oder weniger hell, ihre Flächen sind jedoch gleichmäßig beleuchtet. Mit dem Vorhandensein einer punktförmigen Lichtquelle, die von einem Punkt ausgehend das Licht gleichmäßig in alle Richtungen strahlt, ändert sich die Helligkeit des Objekts von Punkt zu Punkt in Abhängigkeit vom Abstand und Richtung zur Lichtquelle.

Abbildung 1: Lambert Reflexion

Bei stumpfen, matten Flächen tritt Lambert-Reflexion oder diffuse Reflexion auf (Abbildung 1). Solche Flächen erscheinen aus allen Richtungen betrachtet gleich hell, da sie das Licht mit gleicher Intensität in alle Richtungen gleichförmig reflektieren. Die Helligkeit eines Punktes hängt nur vom Winkel zwischen der Richtung zur Lichtquelle und der Flächennormalen ab.

Zur Bestimmung der Intensität pro Flächeneinheit betrachtet man die Fläche, die ein Lichtstrahl bedeckt (siehe Abbildung 2). Für Winkel 0° < 90° ist die Größe dieser Fläche proportional zu . Für alle Winkel also umgekehrt proportional zu cos . Die Größe der Fläche ist dA/cos , wobei dA der Querschnitt des Lichtstrahls ist. Die Energie des Lichtstrahls ist konstant, pro Flächeneinheit jedoch proportional zu cos , also umgekehrt proportional zu . Bei 0° ist die Intensität am größten, dann trifft der Lichtstrahl senkrecht auf die Oberfläche.

Abbildung 2: Zusammenhang zwischen Fläche und Einfallswinkel

Wieviel Licht sieht aber ein Betrachter, der sich irgendwo im Raum befindet? Das Lambertsche Gesetz besagt, daß der Betrag des Lichts, den der differentielle Bereich dA zum Betrachter reflektiert, direkt proportional zum Kosinus des Winkels zwischen Blickrichtung und der Normalen ist. Da die Größe der sichtbaren Fläche umgekehrt proportional zum Kosinus dieses Winkels ist, heben sich diese beiden Faktoren gegenseitig auf. Die Intensität eines Punktes hängt also nur vom Winkel und nicht von der Blickrichtung ab. Die Gleichung für die diffuse Beleuchtung, mit normalisierten Vektoren, lautet:

(3)

Es wird hier und in den folgenden Gleichungen davon ausgegangen, daß der Winkel im Bereich 0° < 90° liegt, damit sich die Lichtquelle auf den untersuchten Punkt auswirkt. Lichtquellen hinter der Fläche erreichen den Punkt also nicht. Bei der Berechnung der Normalen im voraus und Transformation der Polygoneckpunkte ist zu beachten, daß man manche Transformationen, wie Scherung oder ungleichförmige Skalierung, nicht durchführen darf, da sie den Winkel nicht erhalten. Das hat zur Folge, daß die im voraus berechnete Normale nicht mehr senkrecht auf der Fläche steht. Es existieren jedoch Methoden zur Transformation von Normalen, wenn beliebige Transformationen auf einem Objekt angewandt werden.

Wenn eine punktförmige Lichtquelle weit genug von dem zu schattierenden Objekt entfernt ist, schneiden ihre Lichtstrahlen alle Flächen unter annähernd dem gleichen Winkel. In diesem Fall spricht man von einer gerichteten Lichtquelle, ist dann in jedem Punkt konstant.

Bei der Darstellung von Objekten nur mit dem Lambert Modell, sehen sie sehr grell aus, als würden sie in einem dunklen Raum von einem Blitzlicht beleuchtet. Zur Steigerung des realistischen Eindrucks erweitert man die Gleichung (3) um einen Anteil für die Hintergrundbeleuchtung. Ambiente und diffuse Reflexion werden kombiniert:

(4)

1.3 Abschwächung der Lichtquelle

Wenn sich die Projektionen zweier paralleler Flächen gleichen Materials, die vom Blickpunkt aus beleuchtet werden, überlappen, so kann man sie mit Gleichung (4) nicht voneinander unterscheiden. Die Entfernung zur Lichtquelle oder zum Betrachter ist kein Faktor, der die Gleichung beeinflußt. Daher wird ein Abschwächungskoeffizient fab für die Lichtquelle eingeführt:

(5)

Die Energie einer punktförmigen Lichtquelle nimmt mit dem Kehrwert des Quadrats des Abstands dL zwischen Fläche und Lichtquelle ab. Dies muß bei der Wahl von fab berücksichtigt werden:

(6)

Für große dL ändert sich der Abschwächungskoeffizient nur sehr gering, während er bei naher Lichtquelle stark schwankt. Dadurch werden die Flächen bei gleichem Winkel sehr unterschiedlich schattiert. Das ist zwar für punktförmige Lichtquellen theoretisch korrekt, aber in der Natur werden Objekte typischerweise nicht von punktförmigen Lichtquellen beleuchtet und schon gar nicht mit vereinfachten Beleuchtungsmodellen der Computergrafik schattiert. Dieser Abschwächungskoeffizient sollte sowohl die atmosphärische Abschwächung, als auch die Abnahme der Energiedichte von der Lichtquelle zum Objekt hin approximieren. Die Gleichung (7) stellt einen Kompromiß dar und ermöglicht darüber hinaus mehr Effekte als die quadratische Abschwächung.

(7)

Gleichung 7 bietet neben der quadratischen Abhängigkeit von der Entfernung der Lichtquelle (Gleichung 6) die Möglichkeit einer feineren Abstimmung durch lineare Abhängigkeit und einer zusätzlichen Konstante. c1 verhindert, daß der Nenner zu klein und damit die Abschwächung zu groß wird, wenn sich die Lichtquelle sehr nahe am Objekt befindet. Die Parameter cn werden vom Benutzer durch Testen bestimmt, bis eine subjektiv gute Darstellung erfolgt. Der Ausdruck wird immer unter 1 gezwungen, um Abschwächung sicherzustellen.

1.4 Farbiges Licht und farbige Flächen

Farbe wird üblicherweise durch separate Gleichungen für die Komponenten des Farbmodells berücksichtigt. Die diffuse Farbe eines Objekts wird durch je einen Wert Od für jede Komponente dargestellt. Das Tripel (OdR, OdG, OdB) definiert beispielsweise die Anteile eines Objekts im RGB-Farbsystem. Für den roten Anteil wird IpR der Lichtquelle proportional zu kdOdR reflektiert. Mit Gleichung (8) kann der Anwender den Anteil der ambienten und diffusen Reflexion steuern, ohne die Farbzusammensetzung zu ändern, da es nur einen einzigen Koeffizienten für die reflektierten Anteile gibt:

(8)

Anstatt sich auf ein bestimmtes Farbmodell zu beschränken, werden die Terme der Beleuchtungsgleichung, die von der Wellenlänge abhängen, mit dem Index gekennzeichnet. Denn die vereinfachte Annahme, daß ein Farbmodell mit drei Komponenten das Zusammenspiel von Licht und Objekten vollständig modellieren kann, ist falsch. Sie ist aber einfach zu implementieren und liefert oft akzeptable Ergebnisse. Man müßte die Gleichung theoretisch im gesamten modellierten Spektralbereich auswerten, in der Praxis wird dies aber nur für diskrete Spektralwerte gemacht.

1.5 Spiegelnde Reflexion

Die spiegelnde oder gerichtete Reflexion kann man an jeder glänzenden Fläche beobachten. Wird z.B. ein Apfel mit einem hellen weißen Licht beleuchtet, entsteht die Spiegelung durch gerichtete Reflexion. Das Licht, was der Rest des Apfels reflektiert, entsteht durch diffuse Reflexion. Der Apfel erscheint an der spiegelnden Stelle nicht grün, sondern in der Farbe der Lichtquelle, nämlich weiß. Objekte wie ein gewachster Apfel oder glänzender Kunststoff haben eine transparente Oberfläche. Kunststoffe bestehen zumeist aus Pigmentteilchen, die in ein transparentes Material eingebettet sind. Das Licht, das durch die Reflexion an der farblosen Oberfläche entsteht, hat die Farbe der Lichtquelle.

Abbildung 3: Spiegelnde Reflexion

Wird nun die Position des Beobachters, also die Blickrichtung verändert, bewegt sich das Glanzlicht ebenfalls. Glänzende Flächen reflektieren das Licht ungleichmäßig in verschiedene Richtungen. Ein absolut perfekter Spiegel reflektiert das Licht nur in der Richtung , die durch Spiegeln von an entsteht. Ein Betrachter würde nur dann reflektiertes Licht sehen, wenn seine Blickrichtung mit - übereinstimmt. In dem Fall wird in Abbildung 2 der Winkel gleich Null. ist die Richtung zum Blickpunkt.

Abbildung 4: Intensitätsabfall vom Lichtpunkt aus für verschiedene n

1.5.1 Das Modell von Phong

Von Phong Bui-Tuong stammt ein weit verbreitetes Beleuchtungsmodell für nicht perfekte Reflektoren (z.B. den Apfel). Dabei wird davon ausgegangen, daß die gerichtete Reflexion bei =0 maximal ist und mit steigendem rapide abnimmt. Diese rapide Abnahme wird durch cosn approximiert. n ist ein Materialkoeffizient, dessen typische Werte zwischen 1 und mehreren Hundert liegen. Kleine Werte erzeugen eine langsame Intensitätsabnahme, große Werte simulieren ein kleines, scharfes Glanzlicht. Das Phong Modell basiert auf den Arbeiten von Warnock [Foley94], berücksichtigt jedoch zudem unterschiedliche Positionen für Lichtquelle und Betrachter.

Der Betrag des spiegelnd reflektierten Lichts W() hängt auch wieder vom Einfallswinkel ab. Gleichung (8) ist ein Term dafür hinzuzufügen:

(9)

Der Term in eckigen Klammern steht für den Anteil des reflektierten Lichts, sowohl durch diffuse, als auch durch spiegelnde Reflexion. Sind und normalisiert, gilt auch hier wieder cos = *. W() wird durch eine Konstante ks (0 ks 1) ersetzt, den spiegelnden Reflexionskoeffizienten. In der Praxis wird der Wert für ks experimentell so bestimmt, daß das Resultat zufriedenstellend aussieht, etwa die Realität für den Anwendungsfall befriedigend nah nachbildet.

(10)

Man beachte, daß die Farbe des Glanzpunkts nicht von den Materialeigenschaften abhängt (Od ist nur Faktor in den Komponenten ambienter und diffuser Reflexion). Das Phong Modell eignet sich daher gut zum Beleuchten von Kunststoffkörpern. Andererseits kann man auch sagen, daß Phong-beleuchtete Körper sehr künstlich aussehen.

Diffuse und ambiente Reflexion haben die Farbe des Objekts, bzw. der Fläche. Gerichtete Reflexion nimmt die Farbe der Lichtquelle an, die spiegelnde Farbe des Objekts (Os ). Diese sind nicht zwangsläufig gleich. Ein kleiner Zusatz zu Gleichung (10) berücksichtigt den Effekt:

(3-11)

1.5.2 Berechnung des Reflexionsvektors

Aus einfachen geometrischen Überlegung (siehe Abbildung 5) geht hervor, daß durch Spiegelung von an entsteht. Da und normalisiert sind, hat die Projektion den Wert cos . Es gilt =cos +, wobei =cos - ist. Daraus folgt:

(12)

Abbildung 5: Berechnung des Reflexionsvektors

Für unendlich weit entfernte Lichtquellen ist * für ein gegebenes Polygon konstant, während sich * auf der Oberfläche ändert. Bei gekrümmten Flächen ändern sich beide Winkel an jedem Punkt.

1.5.3 Der Halfway-Vektor

Eine andere Formulierung des Phong Beleuchtungsmodells arbeitet mit dem sogenannten Halfway-Vektor . Er liegt zwischen der Richtung zur Lichtquelle und der Richtung zum Betrachter (siehe Abbildung 6). ist die Richtung des maximalen Glanzlichts. Der Betrachter sieht das Glanzlicht am hellsten, wenn und zusammenfallen. Genau dann sind auch und gleich orientiert. Für die spiegelnde Reflexion wird nun nicht der Winkel sondern benutzt: (*)n mit = (+) / |+| ( normalisiert). Liegen Lichtquelle und Betrachterposition bei unendlich, so ist konstant.

Abbildung 6: Der Halfway-Vektor

Achtung, da und keineswegs gleich sind, erzeugt der gleiche Exponent n mit beiden Formulierungen unterschiedliche Ergebnisse! Man sollte außerdem nicht vergessen, daß der Term cosn zwar erkennbar glänzende Flächen erzeugt, dieser jedoch nicht auf einem theoretischen Modell, sondern auf empirischen Erfahrungen beruht.

1.6 Das Modell von Warn

Scheinwerfer und Spots geben das Licht nicht gleichmäßig in alle Richtungen ab. Diesen Umstand berücksichtigt Warn mit einer leicht implementierbaren Steuerungsmöglichkeit, die jeder Beleuchtungsgleichung hinzugefügt werden kann.

Die Lichtquelle wird durch eine gerichtete Reflexion an einem imaginären Reflektor modelliert (siehe Abbildung 7). Eine Lichtquelle L' beleuchtet den Reflektor in Richtung . Bei der spiegelnden Reflexion sinkt die Intensität des reflektierten Lichts vom Zentrum nach außen ab, weil sich der Winkel zwischen Blickrichtung und Reflexionsstrahl ändert. Dieser Effekt wird dazu benutzt, der Lichtquelle eine Richtung und einen Strahlungswinkel zu geben. Der Parameter, der bei Phong die Größe des Glanzlichts modelliert, beschreibt bei Warn den Winkel des Spotlights. Unter der Annahme, daß normal zum Reflektor ist, kann man mit der Beleuchtungsgleichung von Phong die Intensität der imaginären Lichtquelle L (L ist der Punkt auf dem Reflektor) an einem Punkt des Objekts in Abhängigkeit vom Winkel zwischen und berechnen.

Abbildung 7: Eine Lichtquelle wird als spiegelnde Reflexion definiert

Wenn der Reflektor nur gerichtetes Licht reflektiert und der Spiegelungskoeffizient 1 ist, beträgt die Intensität des Lichts an einem Punkt auf dem Objekt:

(13)

ist die Richtung der Lichtquelle L. Gleichung (13) wird für Ip in Gleichung (11) oder in jede andere Beleuchtungsgleichung eingesetzt. Ein großes p simuliert einen stark gerichteten Spot, kleines p ein diffuses Flutlicht. Bei p=0 verhält sich die Gleichung wie bei einer gleichförmig strahlenden punktförmigen Lichtquelle.


Literatur und Links

[Foley94] James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes, Richard L. Phillips
Computer Graphics, Principles and practice
Addison-Wesley, 1994
[Computer Graphics] Ein weiteres Tutorial in englischer Sprache


© Copyright September 1996 Oliver Stephan
e-Mail - Homepage