![]() |
|||||
![]() |
![]() |
![]() |
![]() |
||
|
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. 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). 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 :
|
![]() |
![]() |
![]() |