【问题标题】:OpenGL VBO usage hints for vertices that animate rarely很少动画的顶点的 OpenGL VBO 使用提示
【发布时间】:2012-01-13 23:45:07
【问题描述】:

假设我有一个 95% 的时间保持不变的 VBO。但是,另外 5% 的时间是动画。我不确定调用glBufferData 时要给OpenGL 哪个使用提示。

一方面,它在 95% 的情况下都像 GL_STATIC_DRAW 缓冲区。另一方面,GL_STREAM_DRAW 推荐用于动画。我应该妥协并通过GL_DYNAMIC_DRAW吗?

或者我应该将它们组合起来,在动画期间调用glBufferDataGL_STREAM_DRAW,然后在动画完成时用GL_STATIC_DRAW重新缓冲?

【问题讨论】:

    标签: opengl vbo


    【解决方案1】:

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

    事实上,AMD 完全无视你的使用提示;它会根据您实际使用缓冲区的方式来执行它的操作。这主要是因为 GL 的太多用户使用不当。

    【讨论】:

      猜你喜欢
      • 2023-03-05
      • 2011-10-25
      • 2021-03-05
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多