Backface Culling


Entfernen von nicht sichtbaren Flächen

Das Backface – Culling ist ein einfaches Verfahren um nicht sichtbare Flächen zu entfernen. Voraussetzung ist jedoch, dass die Objekte, welche aus den Dreiecken gebildet werden, geschlossen sein müssen. Ist das nicht der Fall, so kann es durch das Backface – Culling dazu führen, dass man vom Objekt nur Teile sieht und optisch überhaupt nicht feststellen kann, worum es sich handelt.




Wie man am Bild erkennen kann, schauen wir zum Teil in den Teekesseln rein, jedoch sehen wir nichts von seinem „Innenleben“. Woran liegt das bzw. was macht Backface – Culling eigentlich ?

Es gibt zwei Möglichkeiten Backface – Culling zu realisieren. Einmal im dreidimensionalen Objektraum oder auf den zweidimensionalen projizierten Raum, also dem Bildschirm.

3D Backface – Culling

Wollen wir bereits im Objektraum die Flächen entfernen, so brauchen wir von den Dreiecken die normalisierten Normalvektoren. Nun berechnen wir für jedes Dreieck den Vektor von einem beliebigen Punkt dieses Dreiecks zum Betrachtungspunkt, also der momentanen Position der Kamera. Diesen normalisieren wir nun auch noch und bilden nun das Skalarprodukt dieser beiden Vektoren. Das Ergebnis ist natürlich der Winkel zwischen diesen beiden Vektoren. Liegt der Winkel zwischen -90 bzw. 90 Grad, so ist das Dreieck zu sehen. Ist dieses nicht der Fall, so können wir es einfach ignorieren und die nächsten Dreiecke testen.

2D Backface – Culling

Hier entscheiden wir, ob eine Fläche sichtbar ist, nachdem wir sich auf den Bildschirm projiziert haben. Da unsere Dreiecke einen festen Umlaufsinn haben, z.B im Uhrzeigersinn, berechnen wir nun deren Flächeninhalt über die Determinate z.B. Ist der Flächeninhalt positiv, so ist das Dreieck sichtbar. Bei negativen Flächeninhalt verfahren wir analog zum 3D Backface - Culling.

Index

Z - Buffer Algorithmus

Viewfrustum Culling