OpenGL - 用于2D渲染的VBO理论动画问题

时间:2013-07-27 20:27:20

标签: opengl animation shader textures vbo

最近我决定创建一个游戏并使用新版本的OpenGL来完成它(注意:游戏是2D)。

到目前为止,每个可绘制的类都有一个VBO。我这样做是为了避免为一个类的实例(6 * 3元素)提供VBO。现在,如您所知之前,您渲染VBO就可以绑定纹理。现在的问题是我开始实现动画然后我意识到动画是可能这样,我无法渲染一个VBO可能包含5只不同纹理的乌龟每只乌龟(每个动画的纹理不同关键帧)。

所以回顾一下就是问题所在: *一个VBO拥有多只海龟。一只乌龟决定攻击。通过切换到攻击纹理来启动动画。渲染。 VBO中的所有海龟都在攻击。*

现在问题是:

  • 有没有办法在着色器内切换纹理?
  • 如果以上情况不可能,我该怎么办?

1 个答案:

答案 0 :(得分:1)

找到我自己的解决方案:

对于每个可以拥有动画的对象,制作一个spritesheet然后只更改ST坐标而不是重新绑定下一帧的纹理。