<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Culling</id>
	<title>Culling - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Culling"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Culling&amp;action=history"/>
	<updated>2026-05-27T12:49:56Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Culling&amp;diff=676784&amp;oldid=prev</id>
		<title>imported&gt;Fan-vom-Wiki: /* Occlusion Culling */ Zielartikel gelöscht</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Culling&amp;diff=676784&amp;oldid=prev"/>
		<updated>2024-02-27T01:23:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Occlusion Culling: &lt;/span&gt; Zielartikel gelöscht&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der Begriff &amp;#039;&amp;#039;&amp;#039;Culling&amp;#039;&amp;#039;&amp;#039; (englisch &amp;#039;&amp;#039;cull&amp;#039;&amp;#039;: &amp;#039;&amp;#039;Auslese, Wegschneiden, Abfall&amp;#039;&amp;#039;) bezeichnet ein Prinzip aus der 3D-[[Computergrafik]], bei welchem getestet wird, ob ein betrachtetes Objekt aktuell sichtbar ist, um nicht sichtbare Objekte möglichst früh zu verwerfen und dadurch einen Performance-Gewinn bei der Darstellung zu erreichen, siehe [[Sichtbarkeitsproblem]].&lt;br /&gt;
&lt;br /&gt;
Je nach angewendeter Methode wird unterschieden in [[Culling#Backface Culling|Backface Culling]], [[Culling#Frontface Culling|Frontface Culling]], [[Culling#Frustum Culling|Frustum Culling]] und [[Culling#Occlusion Culling|Occlusion Culling]].&lt;br /&gt;
&lt;br /&gt;
==  Backface Culling ==&lt;br /&gt;
&lt;br /&gt;
Das &amp;#039;&amp;#039;Backface Culling&amp;#039;&amp;#039; ist eine Technik der 3D-Computergrafik, mit der ein Großteil der nicht sichtbaren [[Dreieck]]e (oder allgemeiner: von Polygonen) von Objekten in einer [[Szenengraph|Szene]] entfernt wird. Die geringere Anzahl zu zeichnender Flächen erhöht die Darstellungsgeschwindigkeit.&lt;br /&gt;
&lt;br /&gt;
Bei einer Dreiecksfläche ist eine ihrer beiden Seiten durch den Normalenvektor &amp;lt;math&amp;gt;N_{P}&amp;lt;/math&amp;gt; als Vorderseite definiert. Gibt es in der Szene nur geschlossene, massive Objekte, so blickt der Betrachter immer auf solche Vorderseiten.&lt;br /&gt;
&lt;br /&gt;
Bei einem Kubus sind beispielsweise maximal 3 Seiten gleichzeitig sichtbar, die anderen Seiten sind vom Betrachter abgewandt. Es ist somit überflüssig, die Rückseiten (englisch &amp;#039;&amp;#039;backfaces&amp;#039;&amp;#039;) zu zeichnen, da diese von anderen Dreiecken verdeckt werden.&lt;br /&gt;
&lt;br /&gt;
Geht man 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 &amp;lt;math&amp;gt;N_{P}&amp;lt;/math&amp;gt; des Dreiecks mit der Blickrichtung &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; zu vergleichen.&lt;br /&gt;
&lt;br /&gt;
Normale des Dreiecks ([[Kreuzprodukt]] von &amp;lt;math&amp;gt;V_{1}&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;V_{2}&amp;lt;/math&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;N_{p} = V_{1} \times V_{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prüfung, ob Normale in Blickrichtung ([[Skalarprodukt]] von &amp;lt;math&amp;gt;N_{p}&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;N_{p} \cdot N&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wobei &amp;lt;math&amp;gt;V_{1}&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;V_{2}&amp;lt;/math&amp;gt; orientierte Dreieckskanten sind und &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; der Blickrichtungsvektor.&lt;br /&gt;
&lt;br /&gt;
Ist das Ergebnis &amp;lt;math&amp;gt; \leq 0 &amp;lt;/math&amp;gt;, so ist die Fläche (von vorne) zu sehen, bei einem Ergebnis &amp;lt;math&amp;gt; &amp;gt; 0&amp;lt;/math&amp;gt; nicht (bzw. nur von hinten). Das setzt voraus, dass die Flächennormalen bei einem Körper vom Körper weg zeigen. 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.&lt;br /&gt;
&lt;br /&gt;
Das &amp;#039;&amp;#039;Backface Culling&amp;#039;&amp;#039; sollte, um den Gesamtprozess möglichst effizient zu gestalten, möglichst früh angewendet werden. Oftmals ist es der erste Schritt einer Grafikpipeline.&lt;br /&gt;
&lt;br /&gt;
== Frontface Culling ==&lt;br /&gt;
Eng verwandt mit dem Backface Culling ist das &amp;#039;&amp;#039;Frontface Culling&amp;#039;&amp;#039;, bei dem die eigentlich sichtbaren Vorderseiten verworfen werden und nur die Rückseiten eines Objektes gezeichnet werden. Diese Technik wird für besondere Effekte (zum Beispiel den Shadow Volumes) benötigt.&lt;br /&gt;
&lt;br /&gt;
== Frustum Culling ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Frustum.png|mini|280px|Frustum]]&lt;br /&gt;
Beim &amp;#039;&amp;#039;Frustum Culling&amp;#039;&amp;#039; ([[Frustum]], deutsch: Pyramidenstumpf) wird getestet, ob ein betrachtetes Objekt im Sichtbereich liegt. &amp;#039;&amp;#039;Frustum Culling&amp;#039;&amp;#039; bedeutet so viel wie &amp;#039;&amp;#039;Kegelstumpf-Auslese&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Das Frustum ist eine abgeschnittene [[Pyramide (Geometrie)|Pyramide]], deren Basis die hintere [[Clippingebene]] ist, also der Bereich, &amp;#039;&amp;#039;hinter&amp;#039;&amp;#039; dem nichts mehr gezeichnet werden soll. Die Schnittebene der Pyramide, die vordere Clippingebene, entspricht der Position des Betrachters (der in Richtung der Pyramidenbasis schaut). Alles, was in der Pyramide zwischen der Schnittebene und der Spitze liegt, liegt quasi &amp;#039;&amp;#039;hinter&amp;#039;&amp;#039; dem Betrachter. Die Seitenwände der Pyramide sind die [[Ebene (Mathematik)|Ebene]]n, die den Bildschirmrand bilden.&lt;br /&gt;
&lt;br /&gt;
Um im Sichtbereich zu liegen, muss ein Punkt &amp;#039;&amp;#039;innerhalb&amp;#039;&amp;#039; des so genannten Frustums liegen. Um nicht jeden Punkt eines Objekts einzeln berechnen zu müssen, werden zur schnelleren Berechnung einfache Hüllobjekte (engl. „bounding volume“) wie [[Quader]] oder [[Kugel]]n um die Objekte gelegt und ein Schnitttest zwischen dem Hüllobjekt und dem Sichtvolumen (Frustum) durchgeführt. Ist die Schnittmenge aus dem Volumen des Frustums und dem Volumen des Hüllobjekts leer, so ist das Objekt nicht auf dem Bildschirm sichtbar. Liegt das Volumen des Hüllobjekts vollständig im Frustum, so ist das Objekt vollständig sichtbar. Existiert eine andere Schnittmenge, so ist das Objekt unter Umständen nur teilweise sichtbar.&lt;br /&gt;
&lt;br /&gt;
== Occlusion Culling ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Occlusion Culling&amp;#039;&amp;#039; (englisch &amp;#039;&amp;#039;occlusion&amp;#039;&amp;#039; = Verdeckung) ist ein Verfahren, um verdeckte (Teil-)Objekte einer Szene zu bestimmen. Die von anderen Objekten verdeckten [[Polygon]]e müssen im Weiteren nicht weiter behandelt und gezeichnet werden, was die Schnelligkeit von Berechnungen für die gesamte Szene erhöht. Daher wird dieses Verfahren bei sehr polygonreichen Szenen angewendet.&lt;br /&gt;
&lt;br /&gt;
Occlusion Culling wird nativ von [[NVIDIA]] ab der [[Nvidia-GeForce-3-Serie|GeForce 3]] unterstützt.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
*[[Z-Buffer]] zur pixelweisen Bestimmung der Sichtbarkeit von Flächen&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[https://wiki.delphigl.com/index.php/Backfaceculling Backface Culling im Delphi-OpenGL-Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bildsynthese]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Fan-vom-Wiki</name></author>
	</entry>
</feed>