Z-fighting とは

ステッチングとも呼ばれるZ-戦闘は、2つ以上のプリミティブがzバッファ内で類似または同一の値を有するときに生じる3Dレンダリングの現象である。これは特に、2つの面が本質的に同じ空間を占める同一平面ポリゴンで広く普及しています。影響を受けたピクセルは、zバッファの精度で決まる方法で、あるポリゴンまたは他のポリゴンからのフラグメントでレンダリングされます。また、シーンやカメラが変更されると変化し、あるポリゴンがzテストに「勝ち」、次にもう1つのようになります。全体的な効果は、画面のピクセルを色づけるために「戦う」2つのポリゴンのちらつき、ノイズの多いラスタライズです。この問題は通常、限られたサブピクセル精度と浮動小数点数および固定小数点丸め誤差によって引き起こされます。
Zバッファの精度が高いほど、zファイティングに遭遇する可能性は低くなります。しかし、コプレーナポリゴンの場合、是正措置がとられない限り、問題は避けられません。
近接クリッププレーンと遠距離クリッププレーンとの間の距離が増大し、特に、ニアプレーンが眼の近くで選択されると、プリミティブ間のzファイティングが起こる可能性が高くなる。大規模な仮想環境では不可避的に、遠方と前景の可視性を解決する必要性の間には固有の矛盾があります。例えば、宇宙飛行シミュレータで遠方の銀河を描いた場合、可視性を解決する精度はありませんフォアグラウンドの任意のコックピットジオメトリ上に表示されます(数値表現でさえも、zバッファリングされたレンダリングの前に問題が発生します)。これらの問題を軽減するために、zバッファの精度がニアクリップ面に向かって重み付けされますが、これはすべての可視性スキームでは当てはまらず、すべてのzファイティングの問題を排除するには不十分です。