ZFighting: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Text strukturiert)
Zeile 1: Zeile 1:
ZFighting ist ein Effekt, der auftritt wenn der Tiefenpuffer nicht hoch genug Auflösst, und/oder wenn zwei Polygone genau auf der gleichen Stelle sind.
+
== Ursache ==
Den Effekt erkennt man daran, das das Bild bei Bewegung der Kamaera flimmert und man mal das eine mal das andere Polygon sieht.
+
ZFighting nennt man den Effekt, der auftritt wenn zwei Polygone genau auf der gleichen Stelle positioniet wurden, und/oder wenn der [[Tiefenpuffer]] nicht hoch genug auflösst.
  
Das kann durch verschieden Techniken verhindert werden:
+
== Beschreibung ==
 +
ZFighting erkennt mann am flimmern der sich überdeckenden Polygone/Linien bei Bewegungen der Szene. Dabei kommt es mitunder auch zur partiellen Sichtbarkeite beider Polygone.
 +
 
 +
== Lösung ==
 +
ZFighting kann durch verschieden Techniken verhindert werden:
 
1. Größe des Tiefenbuffers hochsetzen (zb. 32 bit statt 16 bit)
 
1. Größe des Tiefenbuffers hochsetzen (zb. 32 bit statt 16 bit)
 
2. Die Werte der near/far clipping plane verändern (siehe auch den link am ende des Artikels)
 
2. Die Werte der near/far clipping plane verändern (siehe auch den link am ende des Artikels)
3. Keine zwei Polygone an der selben Stelle zeichenen lassen..
+
3. Keine zwei Polygone an der selben Stelle zeichenen lassen
 
4. "Polygon Offset" verwenden ( [[glPolygonOffset]] )
 
4. "Polygon Offset" verwenden ( [[glPolygonOffset]] )
  
  
  
weitere Infos im Web:
+
== weitere Infos im Web ==
  
 
[http://www.sjbaker.org/steve/omniv/love_your_z_buffer.html Ein interresanter Artikel über Z-Buffer]
 
[http://www.sjbaker.org/steve/omniv/love_your_z_buffer.html Ein interresanter Artikel über Z-Buffer]

Version vom 4. Juli 2004, 23:35 Uhr

Ursache

ZFighting nennt man den Effekt, der auftritt wenn zwei Polygone genau auf der gleichen Stelle positioniet wurden, und/oder wenn der Tiefenpuffer nicht hoch genug auflösst.

Beschreibung

ZFighting erkennt mann am flimmern der sich überdeckenden Polygone/Linien bei Bewegungen der Szene. Dabei kommt es mitunder auch zur partiellen Sichtbarkeite beider Polygone.

Lösung

ZFighting kann durch verschieden Techniken verhindert werden: 1. Größe des Tiefenbuffers hochsetzen (zb. 32 bit statt 16 bit) 2. Die Werte der near/far clipping plane verändern (siehe auch den link am ende des Artikels) 3. Keine zwei Polygone an der selben Stelle zeichenen lassen 4. "Polygon Offset" verwenden ( glPolygonOffset )


weitere Infos im Web

Ein interresanter Artikel über Z-Buffer