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 )