我更新VBO时应该更新VAO吗?

时间:2015-03-06 15:01:39

标签: opengl opengl-es-2.0

我的VAO / VBO / IBO在iPad和Android上的其他设备上正常工作,只有两个(三星Galaxy S4和索尼Xperia S)。

当我在这个设备上启动我的应用程序时出现问题,每个元素都移动到每个帧并开始在每个帧上闪烁,问题出现在模拟期间更新的每个元素上。

我有一个共享VBO的SpriteRenderer,所以我需要在每个sprite的每一帧上更新这个VBO(更改颜色,uvs,...)。

静态元素(如文本)上不存在视觉干扰。

所以我的问题是:

  • 我是否必须在每个帧上对我的VAO做些什么?

以下是我所得到的:

Init part:

 - bind vao
     -> Bind vbo
     -> Bind ibo
 - unbind vao


Rendering part:

for( sprites )
{
     // Update (Need to bind VAO here?)
     bind vbo (lock)
     update vbo data
     unbind vbo (unlock + bind)

     // Draw.
     bind vao
     drawElement
     unbind vao
}

谢谢!

0 个答案:

没有答案