【发布时间】:2011-01-13 20:18:48
【问题描述】:
我在每次渲染时动态生成顶点数组,然后我想删除这些数组。 glDrawArrays 是否立即将顶点数组复制到服务器?因此在调用glDrawArrays 后删除顶点数组是否安全?
float * vp = GetVertices(); // Regenerated on each render
glVertexPointer(3, GL_FLOAT, 3 * sizeof(float), vp);
glDrawArrays(GL_TRIANGLES, 0, nVertices);
delete[] vp; // Can I do this?
否则,如何确定何时可以安全地删除顶点数组?
【问题讨论】:
-
删除数组需要语法:
delete [] vp;其中vp是指向数组第一个元素的指针。 -
在一个不相关的注释上 - 使用顶点数组需要每次将数据分流到显卡内存。如需更有效的方法,请查看 Vertex Buffer Objects songho.ca/opengl/gl_vbo.html
标签: c++ opengl lifetime vertex-array