OpenGL VBO使用提示很少有动画的顶点

时间:2012-01-13 23:45:08

标签: opengl vbo

假设我的VBO在95%的时间内保持不变。但是,另外5%的时间,它是动画。在调用glBufferData时,我不确定向OpenGL提供哪些用法提示。

一方面,它在95%的时间里都像GL_STATIC_DRAW缓冲区。另一方面,建议将GL_STREAM_DRAW用于动画。我应该妥协并通过GL_DYNAMIC_DRAW吗?

或者我应该将它们合并,并在动画期间使用glBufferData调用GL_STREAM_DRAW,然后在动画完成时使用GL_STATIC_DRAW重新缓冲?

1 个答案:

答案 0 :(得分:4)

唯一可行的答案是尝试一些东西,看看什么最适合不同的平台。 OpenGL没有定义性能,每个驱动程序都会以不同的方式实现这些类型。提示是提示;他们不一定做任何事情。

事实上,AMD完全忽略了你的使用提示;它根据你实际使用缓冲区的方式做它做的事情。这主要是因为GL的太多用户使用它们非常糟糕。