Opengl es 在循环中创建顶点数组-OpenGL

Opengl es 在循环中创建顶点数组-OpenGL,opengl-es,opengl-es-2.0,Opengl Es,Opengl Es 2.0,刚刚开始使用OpenGL ES 2.0,并且想知道构建顶点数组的最佳方法。现在,我有一个结构,我不断添加新的顶点,就像。。。5000次(增量为1) 对我来说,这似乎是一个相当缓慢的方式来生成顶点数组 也许所有的值在创建时都应该保存一次?然后把它们放在文件的开头,就像 顶点[…]={ {{1, -1, 0}, {1, 0, 0, 1}} {{1, 1, 0}, {0, 0, 1, 1}} ... }; 这样更好吗?或者我们还有其他选择吗?如果顶点是常量且数量很大,我建议将其保存在二进制文件中,并在

刚刚开始使用OpenGL ES 2.0,并且想知道构建顶点数组的最佳方法。现在,我有一个结构,我不断添加新的顶点,就像。。。5000次(增量为1)

对我来说,这似乎是一个相当缓慢的方式来生成顶点数组

也许所有的值在创建时都应该保存一次?然后把它们放在文件的开头,就像

顶点[…]={ {{1, -1, 0}, {1, 0, 0, 1}} {{1, 1, 0}, {0, 0, 1, 1}} ... };


这样更好吗?或者我们还有其他选择吗?

如果顶点是常量且数量很大,我建议将其保存在二进制文件中,并在启动应用程序时加载到服务器端内存中

如果您询问的是数据顺序,建议您按顺序保存数据,以便读取。例如,如果您有3个顶点坐标(X、Y、Z)和4个顶点颜色(R、G、B、A),如果您在glBuffer中按以下顺序创建数据,GPU将更快地读取数据:{X1、Y1、Z1、R1、G1、B1、A1、X2、Y2、Z2、R2、G2、B2、A2、…}

通常,问题不是在应用程序中创建/加载顶点数据所浪费的时间,而是渲染这些数据所浪费的时间

但一切都取决于你的申请