“单顶点缓冲区”的含义

时间:2014-08-10 08:12:16

标签: opengl graphics opengl-es gcw0

我试图理解GCW Zero OpenGL指令中给出的“性能提示”的含义:

  
      
  • 始终使用顶点缓冲区对象(VBO)
  •   
  • 将顶点放入一个交错的VBO,而不是多个VBO
  •   

这是否意味着我应该将所有我的对象放入一个顶点缓冲区(并记住与每个对象有关的开始/结束索引)。或者它只是意味着每个对象应该在一个顶点缓冲区中(而不是每个属性的缓冲区)。

在同一个顶点缓冲区中有多个对象是否正常?

1 个答案:

答案 0 :(得分:3)

  

这是否意味着我应该将所有我的对象放入一个顶点   缓冲区(并记住与每个相关的开始/结束索引   宾语)   或者它只是意味着每个对象应该在一个对象中   顶点缓冲区(而不是每个属性的缓冲区)。

这个"表现提示"对多个物体一无所知。它说的是你应该使用交错属性数组将所有属性放入同一个VBO中。这可能是最有效的缓存策略,并且在一般情况下是合理的建议。

放置多个对象也很常见,特别是如果它们只有相对较少的顶点。您可以保存很多状态切换,理想情况下甚至可以通过这种方式绘制调用。但当然,这取决于场景。将事物组合到同一个VBO中对于经常被绘制在一起的静态对象最有用。