glDrawArray是动态顶点的首选方式吗?

时间:2013-05-21 04:31:24

标签: iphone opengl-es opengl-es-2.0 glkview

我目前正在使用glDrawElements渲染一个网格(地形),它可能偶尔会出现udpates(地形变形)。想知道我是否应该在技术上改用glDrawArrays?

1 个答案:

答案 0 :(得分:2)

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

更新顶点与如何渲染顶点无关,将元素列表静态保留在GPU内存中,并更新顶点(除非你的变形需要更新元素,在此case不要让它们静止。)

这就是说,试试两个,看看什么更快(个人资料!)。