我正在使用存储在名为CMesh的类的对象中的OpenGL渲染几个网格。 CMesh包含许多由CVertex对象和三角形表示的顶点。每个CVertex都包含一个带有位置的Vector 由于顶点位置在渲染过程中不断变化,因此每次渲染网格时都必须重写VBO数据数组。虽然与其他大型游戏相比没有那么多顶点,但这会使整个程序变得非常缓慢 有更好的方法吗?
答案 0 :(得分:1)
使用变形目标或至少带有几个骨骼的蒙皮网格。这比手动更新每个顶点要好得多
答案 1 :(得分:0)
假设您正在使用GL_STATIC_DRAW,您可以改为使用GL_DYNAMIC_DRAW,这不应该使程序速度相同。或者,计算GPU上对象的新位置也是值得研究的可能性。