1

そこで、シャドウ マッピングの実装に取り​​組んでいます。ここまでで、カメラの視点からジオメトリ (深度、法線、色) をフレーム バッファにレンダリングし、ライトの視点からジオメトリの深度をレンダリングしました。ここで、カメラの視点からライティングをレンダリングしています。各フラグメントについて、ライトまでの距離と、render-from-the-lights-pov パスの深度 tex 値を比較します。距離が大きい場合は影になります。(ここで要約して、理解していないことに気付いていないことを確認してください)。

したがって、この最後のステップを実行するには、深度値 [0-1] をその眼空間値 [0.1-100] (近/遠面) に変換する必要があります。(説明はこちら -深度バッファから真の z 値を取得する)。

代わりに、render-from-the-lights-pov パスを使用して、フラグメントからカメラまでの距離 (z コンポーネント) をテクスチャに直接書き込むだけにする理由はありますか? そうすれば、ばかげた変換に対処する必要はありませんか?または、何か不足していますか?

4

1 に答える 1

4

確かに独自の深度値をテクスチャに書き込むことができ、多くの人がそれを行っています。これを行う利点は、好きな表現とマッピングを選択できることです。

欠点は、a) 「実際の」深度バッファを FBO にアタッチしておく (したがって、深度書き込みに使用する帯域幅を 2 ​​倍にする) か、b) GL_MIN/GL_MAX ブレンド モードを使用する (深さをどのようにマッピングしているか)、初期の z out 最適化を見逃す可能性があります。

于 2014-03-13T10:36:17.463 に答える