Das tecChannel 3D-Lexikon: G bis R

Phong-Shading

Das Phong-Shading ist das rechenintensivste Verfahren zur Schattierung von Polygonen und ist deshalb heute kaum in einer Echtzeitanwendung zu finden. Die Grundidee des Verfahrens ist folgende:

  • berechne an jedem Eckpunkt den Normalenvektor des Vertex

  • interpoliere die Normalenvektoren über die Kanten zwischen den Eckpunkten

  • interpoliere die Normalenvektoren über die Scanlines zwischen den Kanten

  • berechne die genaue Farbe eines jeden Pixel mit Hilfe des Skalarproduktes zwischen dem interpolierten Normalenvektor und dem Vektor des Lichts

Das ist ähnlich wie beim Gouraud-Shading, bei dem die Farben und Intensitäten linear interpoliert werden. Phong-Shading ist ein Per-Pixel-Verfahren. Das heißt, der Prozessor berechnet die Beleuchtung für jeden Pixel einzeln, was den immensen Rechenaufwand verdeutlicht. Dafür kommt das Phong-Shading am besten mit Reflektionen und Glanzlichtern zurecht, was beim Verfahren von Gouraud nur unzureichend möglich ist. Auch das vom Flat-Shading bekannte Mach Banding, das beim Gouraud-Shading bereits gemindert ist, wird noch weiter verringert.

Phong-Shading darf nicht mit dem Phong-Lighting verwechselt werden. Manche Marketingabteilungen brüsten sich gerne damit, dass ihre Applikationen das Phong-Shading-Beleuchtungsmodell verwenden. Sie benutzen aber nur das Phong-Lighting-Verfahren, das an jedem Eckpunkt den entsprechenden Lichtwert berechnet. Die tatsächliche Schattierung findet dann nur mit normalem Gouraud-Shading statt.