これをopenGLで実装する方法について疑問に思っていました:
床と壁が平らな地図があります。ここにあるものはすべて 2D であり、3D ジオメトリはなく、マップを構成する 2D ポリゴンのみです。
ポリゴンの頂点を使用して影を落とし、表示可能な領域を定義します。
影は視野を定義しますが、壁のあるセルは視界を遮るため、それらも暗くなります。影の上に壁を描くことはできますが、そうすると視野の外に壁が見えてしまいます。
シャドウ マッピングを使用してこの問題に取り組むよう提案されました。2D シーンを、最初に衝突するサーフェスまでの距離の深さを保持する 4 つの異なる 1D テクスチャにレンダリングする必要があります。問題は、2D シーンの投影を 1D テクスチャにレンダリングする方法がわからないことです。たとえば、 gluLookAt (x, y, 0.0, 0.0, x , y+1, 0.0, 0.0, 1.0);
上面図をレンダリングすると、結果は 2D のままです。また、すべての頂点が同じ平面にあるため、何もレンダリングされず、すべてのサーフェスがカメラに対して直交します。
これらの 2D から 1D への投影を行う方法に関するヒントやアイデアはありますか? 私はこのようなシナリオをグーグルで検索してきましたが、それらはすべて 3D 環境にあります。