调用glDrawArrays之后,我可以删除OpenGL顶点数组吗?(Can I delete OpenGL vertex arrays after calling glDrawArrays?)

编程入门 行业动态 更新时间:2024-10-28 20:22:24
调用glDrawArrays之后,我可以删除OpenGL顶点数组吗?(Can I delete OpenGL vertex arrays after calling glDrawArrays?)

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

否则,我怎样才能确定何时删除顶点数组是安全的?

I am generating the vertex arrays on the fly on each render and I want to delete the arrays afterwards. Does glDrawArrays immediately copy the vertex arrays to the server? Hence is it safe to delete the vertex arrays after calling 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?

Otherwise, how can I determine when it is safe to delete the vertex arrays?

最满意答案

是的,它会立即被复制,所以一旦你完成了呼叫,你可以做任何你喜欢的阵列。

另外,正如Dirkgently指出的,你需要使用delete[] vp来删除一个数组。

Yes, it is copied immediately, so once you've done the call you can do whatever you like with the array.

Also, as dirkgently pointed out, you need to use delete[] vp to delete an array.

更多推荐

本文发布于:2023-08-04 23:41:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1423254.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   顶点   OpenGL   glDrawArrays   calling

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!