ZFighting: Unterschied zwischen den Versionen
Aus DGL Wiki
Flash (Diskussion | Beiträge) (Text strukturiert) |
|||
Zeile 1: | Zeile 1: | ||
− | ZFighting | + | == 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) | 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
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ö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 )