次のシーンを考えてみましょう。
pMin と pMax をワールド空間からビューポート空間に変換しました。pMin と pMax で区切られた領域は、ユーザーのマウスが平面 (大きな長方形) 上をスライドするのに従います。
フラグメント シェーダー内で、フラグメントが内部領域内にあるかどうかを判断する方法はありますか? gl_FragCoord.x と gl_FragCoord.z を比較してみましたが、正しい結果が得られません。
if((gl_FragCoord.x < splitMax.x && gl_FragCoord.x > splitMin.x)
&& (gl_FragCoord.z < splitMax.z && gl_FragCoord.z > splitMin.z)){
//within area following the mouse
} else {
//outside of area following the mouse
}
カスケード シャドウ マッピングでは、フラグメントの z 値と、計算されたフラスタム スプリットの z 値の内側にあるかどうかに基づいて、シャドウ マップが選択されます。ルックアップでx座標も考慮したいということだけを同じようにしようとしています。