填写我的VBO的最佳方法是什么?

时间:2012-11-16 15:03:29

标签: c++ arrays opengl vbo vertex

我正在使用存储在名为CMesh的类的对象中的OpenGL渲染几个网格。 CMesh包含许多由CVertex对象和三角形表示的顶点。每个CVertex都包含一个带有位置的Vector 由于顶点位置在渲染过程中不断变化,因此每次渲染网格时都必须重写VBO数据数组。虽然与其他大型游戏相比没有那么多顶点,但这会使整个程序变得非常缓慢 有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

使用变形目标或至少带有几个骨骼的蒙皮网格。这比手动更新每个顶点要好得多

答案 1 :(得分:0)

假设您正在使用GL_STATIC_DRAW,您可以改为使用GL_DYNAMIC_DRAW,这不应该使程序速度相同。或者,计算GPU上对象的新位置也是值得研究的可能性。