什么时候删除顶点缓冲区是安全的

时间:2013-09-28 10:18:28

标签: opengl

我目前正在编写一个创建顶点缓冲区的OpenGL程序,只使用它一次就可以绘制一批三角形。

我需要多长时间才能保持它。现在我只是保留它直到下一个绘图批次开始,但我不确定这是否安全。 glDeleteBuffers中的文档有点不清楚。

从它的外观来看,与着色器不同,它意味着立即删除缓冲区。 当缓冲区当前用于渲染或是否延迟实际删除时,是否也会发生这种情况。

那么,在没有累积太多缓冲区的情况下,最安全的方法是什么?

1 个答案:

答案 0 :(得分:3)

您可以在glDraw…调用后立即取消绑定并删除缓冲区对象。这是一个指定的OpenGL要求,在实现之后,只要需要跟踪所有内部引用,然后在内部进行清理。这不仅适用于glDelete…,而且适用于修改数据的每个OpenGL调用。