クリーンな解決策は、懸念事項を分離することです。Qt を使用する Qt とやり取りするソース ファイルを 1 つ用意します。次に、glLoadGen のものを使用して、OpenGL と対話する別のソース ファイルを作成します。
概念的に両方を必要とする関数がある場合は、GL と対話する必要があるときに OpenGL 対話コードで関数を呼び出すようにします。したがって、ウィンドウのサイズ変更時にビューポートを変更する場合は、Qt コードでサイズ変更を検出し、OpenGL と対話するコードに移動して実際に を呼び出す関数を呼び出しますglViewport
。
そうすれば、Qt から切り替える必要がある場合でも、Qt と対話するコードを置き換えるだけで済みます。
そうは言っても、glLoadGen は実際には OpenGL ロード ライブラリではありません。これは、OpenGL ロード ライブラリのジェネレーターです。拡張可能なプラットフォームです。したがって、UI コード内にレンダリング コードを挿入することが非常に重要である場合 (一般的に言えば、これは不適切な形式です)、実際に Qt と互換性のあるジェネレーター スタイルを作成できます。
もちろん、glLoadGen スタイルの作成は簡単ではありません。Lua スクリプトの知識と、生成システムが実際にどのように機能するかを熟読する必要があります。