Eine GPU kann die Polygone bereits pro Polygon ausmerzen. Dies geschieht jedoch zum Zeitpunkt der Rasterung / Einrichtung, der nach der Scheitelpunktschattierung erfolgt (mithilfe von Vertex- / Geometrie- / Rumpf- / Domänen-Shadern). Dies bedeutet, dass die GPU immer noch Polygonscheitelpunkte schattieren kann, die dann ausgesondert werden. In diesem Fall hat die GPU viel Arbeit für nichts geleistet und ist daher eine Verschwendung von GPU-Zyklen.
Aus diesem Grund versuchen wir, GPU-Zyklen nicht zu verschwenden, indem wir unsichtbare Geometrie auf der CPU-Seite (oder GPU-Seite mit DX10 + -Funktionen wie DrawIndirect und / oder prädiziertem Rendering) in Polygonstapeln ausmerzen, indem wir für diese Stapel einfach keine Zeichnung aufrufen.
Normalerweise kann dieser Stapel von Polygonen durch eine Kugel oder ein Kästchen dargestellt werden, das alle diese Polygone umgibt. Diese Begrenzungskugel / Box wird dann gegen den Kegelstumpf getestet, und wenn sie den Kegelstumpf berührt, wird der Ziehungsaufruf für diese Polygone aufgerufen. Wenn nicht, wird der Draw-Aufruf übersprungen. Ein Octree ist einfach eine andere Möglichkeit, um zu bestimmen, welche Geometriestapel sichtbar sind, außer dass diese Daten hierarchisch organisiert werden. Oktrees sind nicht unbedingt für alle Geometrien geeignet.
Es folgen einige ziemlich gute Referenzen, die die Kugel / Kegelstumpf-Technik erklären: