遅延レンダラーで全方向シャドウ マッピングを実装していましたが、この問題の解決に問題があります。
ここに写真があります:
これは、各軸に沿って正と負の方向を指す 6 つのスポット ライトを配置したときに起こったことです。この問題は、スポット ライトの計算がライトの円錐内に照明を維持することによって引き起こされることを知っています。それが円形である理由です。
私が最初に考えたのは、円錐の計算を無効にすることでしたが、明らかに、あるライトから別のライトを見るとライトがブレンドされているため、オーバーラップが発生します。ライト用にレンダリングされているジオメトリを円錐形から四角形ベースのピラミッドに変更すると (とにかくこれを行う必要があると思いますか?)、代わりにライトのフラスタム (既に持っているもの) を使用できます。現在のピクセルが円錐台の内側にあるかどうかをテストするための円錐計算のことですよね?
もしそうなら、ピクセルシェーダーでこれを行う最良の方法を知っている人はいますか? ポイントが錐台の各平面の前にあるかどうかを確認することだけを考えましたが、これをピクセル シェーダーで行うにはコストがかかるようです。