VAO删除会导致奇怪的内存问题

时间:2016-05-01 03:20:13

标签: c++ opengl memory-leaks

我的渲染周期如下所示:import model - >画它(一些帧......) - >删除它。要绘制模型我正在使用vao / vbo / ebo。

现在,在使用此代码的删除阶段:

glDeleteVertexArrays(1, &vao); glDeleteBuffers(1, &vbo); glDeleteBuffers(1, &ebo);

在Xcode Allocation工具中进行分析时,我得到了这个enter image description here

如果代码写得像: glDeleteBuffers(1, &vbo); glDeleteBuffers(1, &ebo); glDeleteVertexArrays(1, &vao);

突然显示:

enter image description here

为什么会这样?我只改变了glDeleteVAO / glDeleteBuffers的顺序并且让这个奇怪的'内存泄漏'。所有这三行代码都放在了dctor中,而不是分布在应用程序中。

此外,删除vbo之后的glIsBuffer(),vao,ebo在所有缓冲区中的所有这些情况下都返回0。

在os x el capitan上使用opengl 4.1

0 个答案:

没有答案