5.2 Gouraud Schattierung 
Die Oberflächen
der Objekte, die mit der konstanten Schattierung berechnet worden sind
wirken facettiert. Die Gouraud – Schattierung versucht diesen Effekt zu
reduzieren, indem es für jeden im Polygon dargestellten Pixel einen Intensitätswert
berechnet. Zuerst werden die Intensitäten an den Eckpunkten des Polygongitters
ermittelt. Hierzu muss auf die Normalvektoren der Eckpunkte die Beleuchtungsgleichung
angewendet werden. Die Normalenvektoren erhält man durch Interpolation
der Polygonnormalen der angrenzenden Polygonflächen (Abbildung
1), oder aus einer evtl. verfügbaren Gleichung der Originalfläche.

Abbildung 1

Sind
die Intensitäten an den Eckpunkten bekannt, wird das Scanlineverfahren
angewendet um das Polygon zu füllen. Der Begriff Scanlineverfahren steht
für einen Algorithmus, der sich horizontal von links nach rechts über
die zu berechnende Szene bewegt und jedem Pixel einen Intensitätswert
zuweist. Zuerst werden die Intensitäten an den Schnittpunkten der Scanline
mit den Polygonkanten ermittelt (P1 und P2 in Abbildung
2).

Abbildung 2
Die folgenden
Formeln zeigen, wie sich die Intensitäten berechnen lassen:


Sind
die Intensitäten an den Kantenschnittpunkten P1 und P2 (s. Abbildung
2) berechnet, werden die Intensitätswerte entlang der Linie zwischen den
Schnittpunkten folgendermaßen ermittelt:
Ist die
Pixelfolge einer Zeile berechnet, wird inkrementell mit der nächsten fortgefahren
bis die Polygonfläche vollständig gefüllt ist. Das Resultat ist ein kontinuierlicher
Intensitätsverlauf über die Polygongrenzen hinaus. Der Intensitätswert
jeder Fläche hängt somit von seinen Nachbarflächen ab. Im Gegensatz zur
konstanten Schattierung wird bei diesem Verfahren nicht nur einmal der
Normalvektor für eine Polygonfläche bestimmt, sondern für jede Polygonecke
einmal.
Die folgende Abbildung ist mit dem Verfahren von
Gouraud berechnet worden :
Abbildung 3
|