OpenGL を使用してシャドウ マッピングを行っています。深度をシャドウ マップと比較すると、Z ファイティングの問題が発生します。glPolygonOffset を使用して問題を解決できます。この関数は、Z ファイティングの問題が解決されるように、ポリゴンを少しプッシュ (またはプル) するのに役立ちます。しかし、関数 glPolygonOffset について質問があります。ポリゴンの傾きがオフセットに関係している理由がよくわかりません。
ここから:
factor パラメーターは、ビューアーのほぼ真横にある塗りつぶされたプリミティブの正しい結果を保証するために必要です。この場合、同一平面上にある 2 つのプリミティブによって生成された同じピクセルの Z 値の差は、X または Y の最大 Z 勾配と同じくらい大きくなる可能性があります。この Z 勾配は、ほぼエッジオンのプリミティブでは大きく、ほとんど存在しません。正面向きのプリミティブ用。factor パラメータを使用すると、このタイプの変数の差を結果の深度オフセットに追加できます。
ここで、「2 つの共平面プリミティブによって生成された同じピクセルの Z 値の差が、X または Y の最大 Z 勾配と同じくらい大きくなる可能性がある」理由がわかりません。