0

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

4

2 回答 2

1

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

于 2012-11-16T15:45:15.423 回答
0

假设您使用的是 GL_STATIC_DRAW,您可以将其更改为使用 GL_DYNAMIC_DRAW,它不应该同样减慢程序的速度。或者,计算对象在 GPU 上的新位置也是一种值得研究的可能性。

于 2012-11-16T15:06:31.693 回答