我正在使用VBO将2D精灵渲染到我的屏幕上。我使用一个glDrawElements调用来绘制由退化三角形连接的所有精灵的三角形条。
我想让我的代码面向对象,所以我有一些类代表我在游戏中拥有的各种对象。例如一个用于我的角色,一个用于背景瓷砖等。
我最初的想法是查询哪些对象位于单个“视图”中,或查询更大级别的子集,然后查询这些对象的位置和texcoords并绘制它们。这意味着我必须每个或每隔一帧构建一个向量。另外,我假设我需要在每个类中放置一种计时器,以便在需要进行下一阶段动画时触发。
我想知道使用类似于我所描述的方法的性能影响,以及是否有更好的方法来保留OO属性。
答案 0 :(得分:0)
我终于实现了我的解决方案。
我所做的是遍历我的“可绘制”对象列表并要求他们将它们的顶点添加到向量中,然后我将其发送到VBO。感谢你指点我正确的方向,jozxyqk。
看起来很简单,但我想我已经陷入了考虑效率成本的问题,无论如何这都不重要。