Schattierung: Phong vs Gouraud vs Flat

9

Wie funktionieren sie und was sind die Unterschiede zwischen ihnen? In welchem ​​Szenario sollten Sie welches verwenden?

Joey
quelle

Antworten:

12

Flache Schattierung ist das einfachste Schattierungsmodell. Jedes gerenderte Polygon hat einen einzelnen Normalenvektor. Die Schattierung für das gesamte Polygon ist über die Oberfläche des Polygons konstant. Mit einer kleinen Polygonzahl erhalten gekrümmte Oberflächen ein facettiertes Aussehen.

Die Phong-Schattierung ist die ausgefeilteste der drei von Ihnen aufgelisteten Methoden. Jedes gerenderte Polygon hat einen Normalenvektor pro Scheitelpunkt. Die Schattierung erfolgt durch Interpolation der Vektoren über die Oberfläche und Berechnung der Farbe für jeden interessierenden Punkt. Das Interpolieren der Normalenvektoren ergibt eine vernünftige Annäherung an eine glatt gekrümmte Oberfläche unter Verwendung einer begrenzten Anzahl von Polygonen.

Die Gourard-Schattierung liegt zwischen den beiden: Wie die Phong-Schattierung hat jedes Polygon einen Normalenvektor pro Scheitelpunkt, aber anstatt die Vektoren zu interpolieren, wird die Farbe jedes Scheitelpunkts berechnet und dann über die Oberfläche des Polygons interpoliert.

Bei moderner Hardware sollten Sie entweder eine flache Schattierung (wenn Geschwindigkeit alles ist) oder eine Phong-Schattierung (wenn Qualität wichtig ist) verwenden. Oder Sie können einen Shader für programmierbare Pipelines verwenden und die ganze Frage vermeiden.

Kennzeichen
quelle
Bei moderner Hardware sind mir hardwarebasierte Phong-Modi nicht bekannt. Übrigens verwenden Menschen für programmierbare Shader, die mittlerweile allgegenwärtig sind, fast immer BRDFs auf Mikrofacettenbasis.
Imallett
Mein Punkt ist, dass die Geschwindigkeitssteigerung von Gourard gegenüber Phong nicht ausreicht, um den Qualitätsverlust zu rechtfertigen - moderne Computer können (oder sollten) beides in Echtzeit tun.
Mark
So wie Sie es formuliert haben, klang es so, als gäbe es eine Phong-Funktionalität mit fester Funktion, obwohl ich nicht glaube, dass es eine gibt. Unabhängig davon sagen Sie, Sie sollten Phong verwenden, "wenn Qualität wichtig ist", aber Phong ist tatsächlich ein BRDF-Modell von schlechter Qualität. In mancher Hinsicht sogar schlimmer als Blinn-Phong, mit dem Hardware-Gouraud-Schattierungen Scheitelpunkte schattieren.
Imallett