Beleuchtung

So funktioniert Raytracing
<- Grundlagen: Was ist Raytracing?
-> Basisobjekte
Diffuse Lichtreflexion / Spigelnde Lichtreflexion / Spotlichter / Ambientes Licht / Kombination

Diffuse Lichtreflextion
Diffuse Lichtreflexion

Bei der diffusen Lichtreflexion geht man davon aus, dass das Objekt in jede Richtung gleich viel Licht reflektiert. Dies ist z.B. bei rauhen Oberflächen der Fall. Wieviel Licht von einem Oberflächenstück beim Betrachter ankommt, hängt also mit dem Sinus des Winkels zwischen Oberfläche und Betrachter ab (siehe Zeichnung), bzw. von dem cosinus des Winkels zwischen Normalenvektor und Betrachter. Letzteren kann man leicht ausrechnen. Natürlich ist die Intensität des Lichtes auch proportional zur Intensität, mit der das Objekte beleuchtet wird, und diese wiederum fällt mit dem Quadrat des Abstandes zur Lichtquelle. Nachdem man so die Lichtintensität berechnet hat, braucht man noch die Farbe. Das Objekt kann natürlich nur das Licht reflektieren, mit dem es bestrahlt wird; außerdem bestimmt seine Farbe, welche Anteile es wie stark zurückwirft. Die Farbkomponenten des reflektierten Licht erhält man also als Produkt der Farbkomponenten von Lichtquelle und Objekt.

[nach oben]

Spiegelnde Lichtreflexion
Spiegelnde Lichtreflexion / Glanzpunkte

Hier legt man das Reflexionsgesetz - Einfallswinkel=Ausfallswinkel - zu Grunde, und wendet es auf das Licht an, das von der Lichtquelle auf das Objekt fällt. Wenn das Objekt aber nicht ideal spiegelnd ist, wird es dabei ein wenig gestreut. Wie stark, hängt von der Oberflächenbeschaffenheit ab. In jedem Falle aber hängt die Farbe des reflektieren Lichtes nicht von der Materialfarbe ab, sondern nur von der Farbe der Lichtquelle.
Um die Lichtintensität, die in Beobachterrichtung gestreut wird, zu berechnen, muss man zunächst die Richtung bestimmen, unter der das Licht bei idealer Spiegelung austreten würde. Dann berechnet man den Winkel zwischen diesem Vektor und dem Beobachter. Der Cosinus dieses Winkels ist dann ein Maß für die gestreute Lichtintensität; allerdings würde man so einen recht großen Glanzpunkt erhalten. Um die Größe des Glanzpunktes zu variieren, kann man diesen cosinus-Wert noch potenzieren.

[nach oben]
Ein normales und ein Spotlicht
Spotlichter

Bisher sind wir immer von einer Punktförmigen Lichtquelle ausgegangen, die in alle Richtungen gleich viel Licht abstrahlt. Interessant sind aber auch Spotlichter, die Licht nur in einem kleinen, scharf umgrenzten Bereich abstrahlen. Runde Spotlichter sind relativ einfach zu berechnen. Dazu braucht man nur die Richtung, in die das Spotlicht ausgerichtet sein soll, als Vektor zu definieren. Um herauszufinden, ob auf einen Punkt Licht von dem Spot kommt, muss man nur den Winkel zwischen dem Abstandsvektor zum Spot und der Richtung des Spotlichtes ausrechnen; wenn dieser Winkel größer als ein fest vorgegbener Wert ist, liegt der Punkt im Schatten.

[nach oben]
Ambientes Licht

An den Beispielbildern sieht man schon, das noch etwas fehlt. In der Realität fällt nämlich nicht nur direktes Licht von einer Lichtquelle auf einen Punkt, sondern auch Streulicht von allen Seiten. Deswegen ist nicht alles, was im Schatten ist, pechschwarz. Beim Raytracing macht man hier eine sehr grobe Näherung an die Realität: Man nimmt einfach an, das Streulicht sei überall gleich. Man addiert also einfach eine Konstante zu den berechneten Lichtintensitäten. Es gibt auch Modelle, um das Streulicht richtig zu berechnen, das nennt sich dann Radiosity und kostet seehr viel Rechenzeit.

[nach oben]
Spiegelnde UND diffuse Reflexion sowie ambientes Licht
Kombination

Diffuse Reflexion, spiegelnde Reflexion und ambientes Licht kann man nun zu verschiedenen Anteilen kombinieren, um realistische Bilder zu erhalten. Bei glatten Objekten (z.B. Metalloberflächen) wählt man einen geringen diffusen Anteil, dafür aber einen hohen spiegelnden und vor allem die Größe des Glanzpunktes klein (wenig Streuung). Bei eher matten Oberflächen (z.B. Kunststoff) dagegen hat man einen hohen Anteil an diffuser Reflexion, und einen kleinen an spiegelnder; der Glanzpunkt ist hier viel größer (größere Streuung).

[nach oben]

Copyright (c) 1999-2000 Martin Melcher