私が理解しているように、シャドウ マッピングは、ライトの視点からシーンをレンダリングして深度マップを作成することによって行われます。次に、カメラの POV からシーンを再レンダリングし、シーン内の各ポイント (GLSL のフラグメント) について、そこから光源までの距離を計算します。シャドウ マップにあるものと一致する場合は光の中にあり、そうでない場合は影の中にあります。
このチュートリアルを読んで、ポイント/全方向ライトを使用してシャドウ マッピングを行う方法を理解しました。
セクション 12.2.2 では、次のように述べています。
すべての光源に対して単一のシャドウ マップを使用します。
そして、12.3.6の下では次のように書かれています:
1) 現在のピクセルから光源までの二乗距離を計算します。
...
4) 計算された距離の値とフェッチされたシャドウ マップの値を比較して、影の中にいるかどうかを判断します。
これは大まかに上で述べたことです。
私が得られないのは、すべてのライトを 1 つのシャドウ マップに焼き付けた場合、どのライトとの距離を比較する必要があるかということです。マップに焼き付けられた距離は、すべてのライトのブレンドであるため、何にも対応していてはなりませんね。
私は何かが欠けていると確信していますが、誰かが私にこれを説明してくれることを願っています.
また、単一のシャドウ マップを使用している場合、それをすべての光源に対してどのようにブレンドするのでしょうか?
単一の光源の場合、シャドウ マップはライトに最も近いオブジェクトの距離 (つまり、深度マップ) を格納するだけですが、複数の光源の場合、シャドウ マップには何が含まれますか?