我有一个立方体在OpenGL ES的顶点数组
float vertex_coordinates [] = {
-12.43796, -12.43796, 12.43796, -12.43796, 12.43796, 12.43796, 12.43796, 12.43796, 12.43796,
12.43796, 12.43796, 12.43796, 12.43796, -12.43796, 12.43796, -12.43796, -12.43796, 12.43796,
12.43796, -12.43796, -12.43796, 12.43796, 12.43796, -12.43796, -12.43796, 12.43796, -12.43796,
-12.43796, 12.43796, -12.43796, -12.43796, -12.43796, -12.43796, 12.43796, -12.43796, -12.43796,
-12.43796, -12.43796, -12.43796, -12.43796, 12.43796, -12.43796, -12.43796, 12.43796, 12.43796,
-12.43796, 12.43796, 12.43796, -12.43796, -12.43796, 12.43796, -12.43796, -12.43796, -12.43796,
12.43796, -12.43796, 12.43796, 12.43796, 12.43796, 12.43796, 12.43796, 12.43796, -12.43796,
12.43796, 12.43796, -12.43796, 12.43796, -12.43796, -12.43796, 12.43796, -12.43796, 12.43796,
-12.43796, 12.43796, 12.43796, -12.43796, 12.43796, -12.43796, 12.43796, 12.43796, -12.43796,
12.43796, 12.43796, -12.43796, 12.43796, 12.43796, 12.43796, -12.43796, 12.43796, 12.43796,
-12.43796, -12.43796, -12.43796, -12.43796, -12.43796, 12.43796, 12.43796, -12.43796, 12.43796,
12.43796, -12.43796, 12.43796, 12.43796, -12.43796, -12.43796, -12.43796, -12.43796, -12.43796,
};
的这个顶点数组目前使用GL_SHORT代替GL_FLOAT我使其使用
glVertexPointer(3, GL_FLOAT, 0, vertex__coordinates);
// texture pointer ...
// colour pointer
glDrawArrays(GL_TRIANGLES, 0, size);
我怎么会去转换顶点数组转换成的值可以精确地呈现相同的 立方体,但是使用GL_SHORT
作为glVertexPointer的第二个参数,以便加速 我的代码?
谢谢!然而,如果我有多个不同尺寸(例如+ -6)的多个 立方体,我将如何应用此逻辑? – Dimitris 2009-11-19 12:44:38
在iPhone上,减少顶点阵列的尺寸可显着提升性能。从花车转换到短裤本身提升了我的渲染性能30%。 Dimitris,为了将其应用于各种情况,您只需将浮点值标准化为+ -32767即可。找到任何顶点坐标的最大绝对值,并将所有顶点值乘以32767除以该值。然后,您可以调整模型视图或投影矩阵以匹配新的缩放大小。 – 2009-11-19 17:05:26
布拉德的建议可行,但前提是你的模型大致集中在(0,0,0)左右。如果不是,你需要定期的规模和偏见。 – Alan 2009-11-19 19:45:52