Popping: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K ()
(Ursache)
Zeile 4: Zeile 4:
  
 
== Ursache ==
 
== Ursache ==
3D Szenen bestehen nicht selten aus einer Unmenge von [[Primitiv]]en. Wie man sich leicht vorstellen kann nimmt die Darstellungsgeschwindigkeit (messbar mittels [[Framecounter]]) mit zunehmender Anzahl darzustellender Objekte ab. Da im 3D Bereich hohe Rendergeschwindigkeiten aber erzielt werden müssen, gibt es einige Möglichkeiten um Objekte, die man sowieso nicht sieht vom Zeichnen auszuschließen.
+
3D Szenen bestehen nicht selten aus einer Unmenge von [[Primitiv]]en. Wie man sich leicht vorstellen kann nimmt die Darstellungsgeschwindigkeit (messbar mittels [[Framecounter]]) mit zunehmender Anzahl darzustellender Objekte ab. Da aber im 3D Bereich hohe Rendergeschwindigkeiten erzielt werden müssen, gibt es einige Möglichkeiten um Objekte, die man sowieso nicht sieht, vom Zeichnen auszuschließen.
 
# Objekte die außerhalb des Sicht-[[Frustum]]s liegen, können recht einfach ausgeschlossen werden (mittels [[Frustum Culling]]).  
 
# Objekte die außerhalb des Sicht-[[Frustum]]s liegen, können recht einfach ausgeschlossen werden (mittels [[Frustum Culling]]).  
 
# Objekte die weit entfernt sind müssen nicht mehr gezeichnet werden (siehe [[Clipping Plane]]).
 
# Objekte die weit entfernt sind müssen nicht mehr gezeichnet werden (siehe [[Clipping Plane]]).

Version vom 27. Juni 2005, 23:51 Uhr

Popping

Popping ist die Bezeichnung für das plötzliche auftauchen von Objekten oder Details in 3D Szenen.

Ursache

3D Szenen bestehen nicht selten aus einer Unmenge von Primitiven. Wie man sich leicht vorstellen kann nimmt die Darstellungsgeschwindigkeit (messbar mittels Framecounter) mit zunehmender Anzahl darzustellender Objekte ab. Da aber im 3D Bereich hohe Rendergeschwindigkeiten erzielt werden müssen, gibt es einige Möglichkeiten um Objekte, die man sowieso nicht sieht, vom Zeichnen auszuschließen.

  1. Objekte die außerhalb des Sicht-Frustums liegen, können recht einfach ausgeschlossen werden (mittels Frustum Culling).
  2. Objekte die weit entfernt sind müssen nicht mehr gezeichnet werden (siehe Clipping Plane).
  3. Objekte in größerer Entfernung müssen nicht so detailiert gezeichnet werden (Ansatz von LOD).

All diese Ansätze basieren darauf, dass die Objekte einen speziellen Test nicht bestehen. (zuweit weg, außerhalb des Sichtfeldes, etc.)

Bewegt sich nun der User durch die 3D Szene müssen die Sichtbarkeitstests immer wieder erneuert werden. Wenn ein vorher nichtsichtbares Objekt/Detail eines Objekts nun aber plötzlich sichtbar wird (obwohl es vorher nicht verdeckt war), nennt man diesen Effekt popping.

Lösungen

Tiefenabhängiges Popping

  • Verschleiern der Entfernung mittels Nebel.
  • Langsames Einblenden der Objekte mittels Blending.

Popping bei Detailstufenwechsel (LOD)

  • Feinere Detailabstufungen wählen.
  • Verschleiern weit erntfernter Objekte durch Nebel.
  • Interpolation/Animation zwischen zwei Detailstufen (verhindern des Sprungs), auch Morphing genannt. Zu beachten sind hier jedoch nicht nur die neu eingefügten oder entfernten Vertices sondern auch die Normalvektoren. Da eine Änderung dieser bei der Lichtberechnungen häufig auch Popping verursacht.
  • Langsames Einblenden der neuen Detailstufe über die Alte mittels Blending.

Popping bezüglich Frustum

  • Seitliche Clipping Planes so wählen, dass sie außerhalb des Sichtfensters liegen.
  • Seitliche Übergangszone schaffen in der die Farben immer dunkler werden (wie im Auge).

siehe auch

Blenden, Clipping Plane, Frustum, Frustum Culling, LOD, Nebel, Primitiv