ジオメトリのシーン全体をレンダリングする複数のカメラを使用する、レンダリングからテクスチャへのプロセスを開発しています。これらのカメラの出力は結合され、頂点シェーダーで各ジオメトリの頂点座標を画面座標に変換することで画面に直接マップされます (ここでは GLSL を使用しています)。
プロセスは正常に機能しますが、小さな問題に気付きました。作成するすべての RTT カメラは、画面出力と同じ寸法のテクスチャを作成します。つまり、ビューポートのサイズが 1024x1024 の場合、ジオメトリが画面の 256x256 セクションを占めていても、各 RTT カメラは 256x256 ジオメトリを 1024x1024 テクスチャでレンダリングします。
解決策はかなり単純に思えます - ジオメトリが占める実際の画面領域に一致するように RTT カメラのテクスチャ サイズを調整しますが、その方法はわかりません。つまり、(たとえば) ジオメトリが画面の 256x256 領域を占めていることをどのように判断すれば、それに応じて RTT カメラの出力テクスチャを 256x256 ピクセルに設定できるのでしょうか?
私が使用する API (OpenSceneGraph) は、軸に沿ったバウンディング ボックスを使用するため、運が悪い..
考え?