私は自分の世界をレンダリングしました。いくつかの特定の要件に基づいて、(しばらくの間) 床にいくつかのライトが含まれています。三角形のプリミティブを使用してこれらのライトをレンダリングしています。現在、レンダリング領域をズームして制限する次のコードがあります。
if(aspect>1)
gl.glOrtho(-scale*aspect, scale*aspect, -scale, scale, 0, 2);
else
gl.glOrtho(-scale, scale, -scale/aspect, scale/aspect, 0, 2);
この画像でわかるように、ファー プレーンは線 (B と D の間の円の線に平行) を通して光を切断しています。
シーンを回転すると問題が発生します... glOrtho「ボックス」は修正されたままです。ライトのカットラインを常に見ることで気づくことができます。B と D の間の線と平行ではなくなりました...
私の友人の 1 人がこのドキュメントを提案してくれました。基本的には、錐台面を抽出する方法を説明しています...
しかし、これは、各プリミティブが内部にあるかどうかを手動で確認する必要があることを意味します..
glOrtho 呼び出しを使用する方法はありますか?
私はこのようなものを取得したいと思います: