包含天空盒、地形、攝像機的 OpenGL 程序退出時彈出「堆損壞」對話框,貼圖尺寸格式正確。
delete,異常路徑導致泄漏或重複釋放。// 正確順序:先釋放 GL 資源,再銷毀窗口/上下文
class Renderer {
GLuint vao, vbo, tex;
~Renderer() {
if (glIsVertexArray(vao)) glDeleteVertexArrays(1, &vao);
if (glIsBuffer(vbo)) glDeleteBuffers(1, &vbo);
if (glIsTexture(tex)) glDeleteTextures(1, &tex);
}
};
int main() {
// 初始化窗口、GLAD/GLEW
Renderer renderer; // 棧上對象,析構自動釋放
// 主循環
return 0; // renderer 析構 → 釋放 GL → 隨後窗口銷毀
}