这更像是一个有直接答案的讨论问题。我正在 OpenGL 中开发一个相当简单的场景,并且遇到了我正在使用的类结构的问题。我有一个“原始”基类,从中构建派生类,例如 Cube、Tetrahedron、Sphere 等。基类包含有关对象的所有数据,例如它的顶点和法线。从这里开始,我有几个从 Model 类派生的类,例如 Fence,它包含几个排列成正确结构的立方体。我将所有顶点和法线存储在堆中,并且需要一种释放内存的方法。然而,当试图释放 Primitive 的构造函数中的内存时,我遇到了一个错误。
我认为这是因为在使用 GLUT 时,模型是在 glutMainLoop() 之外定义的,因此在程序完成使用它们之前它们就超出了范围。有没有更有效的方法来管理 OpenGL 中顶点数组的内存?或者有没有解决这个问题的方法?