Beleuchtung

Ein Beleuchtungsmodell ist dafür zuständig, das Verhalten von Licht zu simulieren bzw. anzuhähern.

In OpenGL wird durch das Blinn-Beleuchtungsmodell für jeden Vektor die Farbe bestimmt und dann durch Gouraud-Shading innerhalb der zu zeichnenden Dreiecke interpoliert. Es handelt sich um ein lokales Beleuchtungsmodell, d.h. die Berechnungen für einen Vektor sind unabhängig von anderen Vektoren. Als Parameter des Blinn-Modells fließen ein:

  • Orientierung der Fläche im Raum
  • Richtung des Lichteinfalls
  • Blickrichtung
  • Materialeigenschaften
  • Lichtquelleneigenschaften

Wie gesagt nähert dieses Beleuchtungsmodell nur an, was wirklich bei der Reflexion von Licht an Oberflächen stattfindet. Material- und Lichteigenschaften bestehen hauptsächlich aus drei Farbangaben:

  • Ambiente Lichtfarbe
  • Diffuse Lichtfarbe
  • Spiegelnde Lichtfarbe

Für die Lichtquelle bedeuten diese RGBA-Farben, wieviel Licht ausgesandt wird, für das Material, wieviel Licht reflektiert wird. Ein grüner Gegenstand z.B. wird in rotem Licht (das kein Grün enthält) schwarz erscheinen.

Material- und Lichteigenschaften

Ambientes Licht nähert den Teil des Lichts an, der aus der Umgebung gleichmäßig auf den Körper fällt. Für das ambiente Licht bleiben Blickrichtung und Richtung des Lichteinfalls unberücksichtigt - es ist eine Art konstante Grundfarbe der Objekte.

Keine Beleuchtung + Ambiente Beleuchtung = Ambiente Beleuchtung

Diffuses Licht simuliert den Teil des Lichts, der von der Lichtquelle kommt und vom Objekt (diffus) in alle Richtungen gestreut wird. Dabei spielen die Orientierung der Fläche im Raum und die Richtung des Lichteinfalls eine Rolle. Die Blickrichtung bleibt unberücksichtigt.

Ambiente Beleuchtung + Diffuse Beleuchtung = Ambiente und Diffuse Beleuchtung

Spiegelndes licht (specular light) simuliert den Teil des Lichts, der uns als Glanzlicht bekannt ist. Für Glanzlichter (spiegelnde Reflexion) ist zusätzlich die Blickrichtung mit entscheidend. Ein sogenannter Shininess-Koeffizient in den Materialeigenschaften gibt zusätzlich an, welche Ausdehnung das Glanzlicht besitzt.

Ambiente und Diffuse Beleuchtung + Spiegelnde Beleuchtung = Ambiente, Diffuse und Spiegelnde Beleuchtung

Durch Verschieben der drei Eigenschaften, insbesondere des diffusen in Relation zum spiegelnden Licht und des Shininess-Koeffizienten lassen sich verschiedene Materialien simulieren.

Leider sehen sie alle mehr oder weniger nach Plastik aus. Durch Pixel-Shader, die andere Beleuchtungsmodelle einsetzen, lässt sich das teilweise beheben. Es gibt also durchaus lokale Beleuchtungmodelle, die näher an der Realität liegen. Man erkauft sie mit gesteigertem Rechenaufwand. Wenn man von den lokalen zu globalen Modellen wie z.B. Radiosity übergeht, kann man auf Kosten der Rechenzeit ebenfalls wesentlich mehr Realismus erzielen.

zurück