Computergrafik

Normalen Und Interpolation

Materialfarben | | Flat Shading

Jede Fläche hat eine Normale; wir können aber keine Daten an Flächen hängen, nur pro Vertex Attribute mitgeben.

Deshalb werden die Normalen per Vertex übertragen. Um ein Dreieck mit genau einer Normale zu zeichnen übergibt man einfach die gleiche Normale für alle Vertices.

Dass man für jeden Vertex eine eigene Normale übergeben kann hat gleichzeitig einen Vorteil: man kann gekrümmte Flächen simulieren!

Beispiel: die folgenden drei Flächen (Seitenansicht, deshalb hier nur Kanten!) sollen ein Teil einer Kugeloberfläche sein. Man übergibt die Normale, die an den Vertices vorhanden sein sollte an jedem Vertex. Jeder Vertex wird 2x an die Grafikkarte geschickt (zwei Flächen grenzen an), bei beiden wird die gleiche Normale mitgeschickt.

Auf den Flächen wird entweder die resultierende Farbe, oder die Normale interpoliert (siehe Shading-Methoden, folgende Folien).

Im alternativen Beispiel sollen die drei Flächen als solche erkennbar, mit klaren Kanten an den Vertices sein. Also wird je Fläche jeweils genau eine Normale (die der Fläche) zur Grafikkarte geschickt, für alle Vertices dieser Fläche. Für die Vertices heißt das, dass 2 unterschiedliche Normalen für einen Vertex geschickt werden, einmal für die eine Fläche, einmal für die andere.


Materialfarben | | Flat Shading

Options: