【发布时间】:2015-09-08 00:48:56
【问题描述】:
假设我的场景中有数百个矩形。他们每个人都在改变每一帧:
- 它们在场景中移动、旋转、放大/缩小
- 顶点颜色发生变化,应与纹理颜色相结合
- 纹理坐标会发生变化,因为它们是 2D 动画
我应该怎么做才能获得最佳性能?有我的想法。请帮我选择哪一个是最好的或提出其他建议:
- 每帧更新 VBO
- 制作比需要更多的顶点(例如:将所有动画的帧存储在 VBO 中)并选择渲染哪个(多次调用 glDrawElements)
- 通过制服发送变化的数据并在顶点着色器而不是 CPU 中重新计算
主要问题实际上是:我可以根据需要多次调用哪些函数,以及我应该避免在每个主循环中多次调用哪些函数?
【问题讨论】:
-
VBO?你是说VAO?在你的情况下,看看instanced rendering。
标签: opengl vbo vertex-shader vertices