Frustum Culling
aus Wikipedia, der freien Enzyklopädie
Frustum Culling ist ein Prinzip aus der 3D-Computergrafik. Hierbei wird getestet, ob ein betrachteter Vertex im Sichtbereich liegt. "Cull" kommt aus dem Englischen und bedeutet soviel wie Auslese, Wegschneiden, Abfall. Frustum Culling bedeutet somit insgesamt soviel wie Kegelstumpf-Auslese.
Um im Sichtbereich zu liegen, muss der Vertex innerhalb des so genannten Frustums (engl.: Kegelstumpf) liegen. Zur schnelleren Berechnung werden dazu einfache Hüllobjekte wie Quader oder Kugeln um die Objekte gelegt und ein Schnitttest zwischen Hüllobjekt und dem Sichtvolumen (Frustum) durchgeführt.
Das Frustum ist eine abgeschnittene Pyramide, deren Basis die Far Clipping Plane, also der Bereich, hinter dem nichts mehr gezeichnet werden soll, ist. Die Schnittebene ist die Near Clipping Plane, alles, was vor dieser Ebene liegt, liegt also quasi hinter dem Betrachter. Die Seitenwände der Pyramide sind die Ebenen, die exakt am Bildschirmrand verlaufen.
Um einen Vertex zu testen, muss überprüft werden, ob sie innerhalb des Frustums liegt, also vor jeder der 6 Ebenen. Hierzu werden die Koordinaten des Vertexes in die Normalgleichung jeder der 6 Ebenen eingesetzt.
- Wenn das Ergebnis jeder Gleichung größer 0 ist, dann liegt der Vertex im Sichtbereich.
- Wenn das Ergebnis der Gleichung 0 ist, dann liegt der Vertex direkt auf der entsprechenden Ebene.
- Ist das Ergebnis einer der Gleichungen kleiner 0, dann liegt der Vertex hinter dieser Ebene und somit nicht mehr im Sichtbereich.