Agar や GiGi のように、SDL と OpenGL に密接に結びついた、SDL 上で実行される OpenGL 用の単純なウィンドウとウィジェットを設計および実装したいと考えています。
私の一般的な問題は次のとおりです。OpenGL コンテキスト内のウィンドウ システムの最適な設計は何ですか??
コントロール専用のウィンドウが必要で、可能であれば、独自の OpenGL コンテキストを持つスレッド化されたウィンドウが必要です。それが可能であると私が考えた唯一の方法は、テクスチャにレンダリングし、それらの周りにウィンドウ装飾を追加することです...
仕組みを他のプログラマーに公開したいのですが、どの方法が最適でしょうか。私はどちらかというと C++ プログラマなので、最初に考えたのは継承でした。共有ヘッダー ファイルで公開する基本的なクラスを作成し、プログラマーはそこから独自のウィンドウ オブジェクトを派生させ、必要なものを実装するために Init() または Run() メソッドをオーバーライドします。このアプローチの問題点は、プログラマーを抑制し続けることです。OpenGL 画面の好きな場所に単純に描画することを「維持」する実際の方法はありません。
別の可能な方法はファンクターです。プログラマーが使用したいファンクターをライブラリに渡し、GUI コンポーネントなどのレンダリングが終了したらそれを呼び出します。
これにアプローチする最良の方法は何ですか??