私はオブジェクト指向のopenGLアプリケーションを書いています。これは、いくつかの3Dモデル(いくつかの属性とメソッドを持つ自分のクラスに格納されている)をレンダリングします。これらのオブジェクトタイプの1つ(ボリュームレンダリングシェーダーを使用)では、最初に出力を固定サイズのテクスチャ(たとえば、256 * 256)にレンダリングしてから、以前のビューポートサイズに復元し、このテクスチャを2Dで画面上に拡大する必要があります。
実際の問題は、GLEventListenerのGLUオブジェクトへの参照を保存しない限り、このオブジェクトの内部から実際のビューポートサイズを取得できないことです。これは、作成するすべてのモデルに明らかに必要ありません。
ただし、GLEventListenerに静的変数を含めたくありません(2つのキャンバスを持つアプリが必要な場合はどうなりますか?)
最も重要なのはビューポートの寸法ですが、カスタムのカメラオブジェクトも参照する必要があると思います。どうすれば静的を使用せずにこれを行うことができますか?