2

影を落とす移動するディレクショナル ライトの Z ファイティングに問題があります。

シャドウマップをレンダリングするときに、ラスタライザーの設定をいじろうとしています。深度バイアスに関連する 3 つのフィールド (DepthBias、SlopedScaleDepthBias、DepthBiasClamp) があり、どのようにいじっても適切な値を見つけることができません。適切な値の範囲がわかりません。

ほとんどのシーンで機能する、普遍的に受け入れられる/「標準」の傾斜スケール/バイアス値のセットはありますか? 極端なケースがあることは承知していますが、一般的なケースがうまく機能することを望んでいます。

4

1 に答える 1

1

バイアス値の標準セットのようなものはありません。シャドウ マップの実装は、科学というより芸術に近いものです :)。

  • 最初の ACME ソースはシャドウ マップの精度です。シャドウ キャスティング ライトのニア プレーンとファー プレーンができるだけタイトになるようにします。正確な深さは重要ではないため、ニア プレーンの前にあるすべてのオブジェクトをパンケーキにすることができます。
  • 2 番目の ACME ソースは、シャドウ マップの解像度です。日光の場合、影の距離が 100 ~ 200m の場合、少なくとも 3 つの 1024x1012 カスケードでカスケード シャドウ マップを作成する必要があります。均一な投影の 1 つのシャドウ マップで同様のシャドウ距離をカバーするのは困難です。
  • 3 番目の ACME ソースは、PCF のようなワイド シャドウ マップ フィルターです。これは、ワイド カーネル全体で単一の深度深度比較値を使用するだけでは不十分なためです。それを修正する方法はたくさんありますが、どれも堅牢ではありません。

要約すると、一般的なケースを機能させるには、いくつかのカスケードといくつかのバイアス調整を備えたタイトなフラスタムで十分です。シャドウ フィルタリングを無効にして微調整を開始し、基本的なシャドウ マップが十分に堅牢な場合にのみフィルタリングを微調整します。

他にも興味深い方法がいくつかあり、それらのほとんどは優れたデモで実装されています: Matt Pettineo - "A sampling of shadow technologies" .

  • シャドウ マップのレンダリング中にカリングを反転します (これはピーターのパンニングと引き換えにアクネになります)。
  • 法線オフセット シャドウ マッピングは、バイアスに対して驚異的な効果を発揮しますが、シェーディング中には頂点法線を配置する必要があります。
  • 分散ベースの方法 (ESM、VSM、EVSM) はバイアスの問題を完全に取り除きますが、他の欠点 (光漏れやパフォーマンスの問題) があります。
于 2015-07-27T21:17:03.547 に答える