私はOpenGLを学んでいますが、変数の使用方法について少し混乱しています。C ++で記述された多くのサンプルコードでは、変数はグローバル変数として使用されます。しかし、プログラムであまりにも多くのグローバル変数を使用することは望ましくないと思います。では、カプセル化に違反せずに変数を使用するにはどうすればよいのでしょうか。または、モデルなどのすべての変数を記録するためにシングルトンを使用する必要がありますか?
質問する
196 次
1 に答える
1
C++ で記述された多くのサンプル コードでは、変数はグローバル変数として使用されます。
これは、GLUT フレームワークを使用して記述された例を読んでいるように聞こえます。変数がグローバルであることは、GLUT の設計が最小限のフレームワークであることの直接的な結果です。これは、単純なテストとテクニカルデモを目的としています。深刻なアプリケーションには GLUT を使用しないでください。
GLUT は OpenGL の一部ではありません。これはサード パーティのライブラリであり、OpenGL に関しては使用する必要はありません。実際、使用しないことを強くお勧めします。
OpenGL 自体は、カプセル化されたコードから問題なく使用できます。Qt フレームワークを使用する OpenGL の例を探します。Qt が OpenGL ウィジェットを実装し、コンテキストのカプセル化を実装する方法は最適ではありませんが (ごく最近になって重大な制限に遭遇しました)、初心者の場合はほとんど気付かないでしょう。
于 2013-03-05T11:27:32.467 に答える