ZFighting: Unterschied zwischen den Versionen
Aus DGL Wiki
Flash (Diskussion | Beiträge) () |
K |
||
Zeile 1: | Zeile 1: | ||
== Ursache == | == 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 | + | 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öst. |
== Beschreibung == | == Beschreibung == | ||
− | ZFighting erkennt | + | ZFighting erkennt man am flimmern der sich überdeckenden Polygone/Linien bei Bewegungen der Szene. Dabei kommt es mitunder auch zur partiellen Sichtbarkeite beider Polygone. |
== Lösung == | == Lösung == |
Version vom 5. Juli 2004, 20:31 Uhr
Inhaltsverzeichnis
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öst.
Beschreibung
ZFighting erkennt man 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. Die Tiefenfunktion ändern ( glDepthFunc(GL_LEQUAL) )
2. Größe des Tiefenbuffers hochsetzen (zb. 32 bit statt 16 bit)
3. Die Werte der near/far clipping plane verändern (siehe auch den link am ende des Artikels)
4. Keine zwei Polygone an der selben Stelle zeichenen lassen
5. "Polygon Offset" verwenden ( glPolygonOffset )