1

我目前正在使用 glDrawElements 来渲染一个网格(地形),它可能会偶尔对其进行更新(地形变形)。想知道我是否应该在技术上使用 glDrawArrays 代替?

4

1 回答 1

2

真的取决于你所有的图元是否使用不同的顶点。在您的地形示例中,如果布局是网格,则每行图元将与前一行共享顶点。如果你调用glDrawArrays而不是glDrawElements你需要传递重复的顶点,这是最昂贵的(要转换的顶点更多)。

更新顶点与如何渲染它、在 GPU 内存中保持元素列表静态以及更新顶点无关(除非你的变形也需要更新元素,在这种情况下不要使它们成为静态的)。

话虽如此,两者都尝试一下,看看什么更快(配置文件!)。

于 2013-05-21T05:09:11.583 回答