如何在OpenGL中有效地动画2D精灵?

时间:2015-06-15 14:00:39

标签: c++ opengl

我正在使用VBO将2D精灵渲染到我的屏幕上。我使用一个glDrawElements调用来绘制由退化三角形连接的所有精灵的三角形条。

我想让我的代码面向对象,所以我有一些类代表我在游戏中拥有的各种对象。例如一个用于我的角色,一个用于背景瓷砖等。

我最初的想法是查询哪些对象位于单个“视图”中,或查询更大级别的子集,然后查询这些对象的位置和texcoords并绘制它们。这意味着我必须每个或每隔一帧构建一个向量。另外,我假设我需要在每个类中放置一种计时器,以便在需要进行下一阶段动画时触发。

我想知道使用类似于我所描述的方法的性能影响,以及是否有更好的方法来保留OO属性。

1 个答案:

答案 0 :(得分:0)

我终于实现了我的解决方案。

我所做的是遍历我的“可绘制”对象列表并要求他们将它们的顶点添加到向量中,然后我将其发送到VBO。感谢你指点我正确的方向,jozxyqk。

看起来很简单,但我想我已经陷入了考虑效率成本的问题,无论如何这都不重要。

相关问题