これは、正直な答えを持っているものよりも議論の質問です。私はOpenGLでかなり単純なシーンを開発していますが、使用しているクラス構造に問題があります。「プリミティブ」基本クラスがあり、そこからCube、Tetrahedron、Sphereなどの派生クラスを構築しています。基本クラスは、頂点や法線など、オブジェクトに関するすべてのデータを保持します。ここから、FenceなどのModelクラスから派生したいくつかのクラスがあります。このクラスには、正しい構造を作成するために配置されたいくつかのキューブが含まれています。すべての頂点と法線をヒープに格納しているので、メモリを解放する方法が必要です。ただし、Primitiveのコンストラクターでメモリを解放しようとすると、エラーが発生します。
これは、GLUTを使用する場合、モデルがglutMainLoop()の外部で定義されているため、プログラムがモデルを使用する前にモデルがスコープ外になるためだと思います。OpenGLで頂点配列を使用してメモリを管理するためのより効率的な方法はありますか?または、この問題の回避策はありますか?