我可以在调用glDrawArrays后删除OpenGL顶点数组吗?

时间:2010-02-06 10:52:04

标签: c++ opengl lifetime vertex-array

我在每次渲染时动态生成顶点数组,之后我想删除数组。 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?

否则,如何确定何时删除顶点数组是否安全?

1 个答案:

答案 0 :(得分:8)

是的,它会被立即复制,所以一旦你完成了这个电话,你就可以对阵列做任何你想做的事。

另外,正如Dirkgently指出的那样,您需要使用delete[] vp来删除数组。

相关问题