- Back Face Culling
-
Der Begriff Backface Culling bezeichnet eine Technik der 3D-Computergrafik, mit der ein Großteil von nicht sichtbaren Dreiecken (oder allgemeiner: von Polygonen) einer Szene entfernt wird. Hierdurch wird die Darstellungsgeschwindigkeit erhöht. Bei einem Dreieck ist eine der zwei Seiten durch den Normalenvektor NP als Vorderseite definiert.
Gibt es in der Szene nur geschlossene, massive Objekte, so blickt der Betrachter immer auf solche Vorderseiten. Es ist somit überflüssig die Rückseiten (englisch backfaces) zu zeichnen (da diese ja von anderen Dreiecken verdeckt werden).
Gehen wir also von undurchsichtigen, geschlossenen Objekten aus, so ist ein einfacher Test, um festzustellen ob eine Seite des Objektes gesehen werden kann oder nicht, die Richtung des Normalenvektors NP des Dreiecks mit der Blickrichtung N zu vergleichen.
Normale des Dreiecks (Kreuzprodukt von V1 und V2):
Np = V1xV2
Prüfung, ob Normale in Blickrichtung (Skalarprodukt von Np und N):
wobei V1 und V2 orientierte Dreieckskanten sind und N der Blickrichtungsvektor.
Ist das Ergebnis > 0, so ist die Fläche (von vorne) zu sehen, bei einem Ergebnis < 0 nicht (bzw. nur von hinten). Ist eine Fläche sichtbar, werden anschließend die weiteren Schritte der Grafikpipeline durchlaufen. Ist die Fläche nicht zu sehen, durchläuft sie keine weiteren Schritte, wird also verworfen.
Das Backface Culling sollte, um den Gesamtprozess möglichst effizient zu gestalten, möglichst früh angewendet werden. Oftmals ist es der erste Schritt einer Grafikpipeline.
Analog gibt es das Frontface Culling, bei dem die Vorderseiten verworfen werden und nur die Rückseiten eines Objektes gezeichnet werden. Dies wird allerdings nur für besondere Effekte (zum Beispiel den Shadow Volumes) benötigt.
Siehe auch: Frustum Culling
Weblinks
Wikimedia Foundation.