随着我的项目接近优化阶段,我注意到减少顶点元数据可以极大地提高 3D 渲染的性能。
最终,我仔细搜索并找到了来自 stackoverflow 的以下建议。
在 OpenGL ES 顶点数组中使用 GL_SHORT 而不是 GL_FLOAT
在 iPhone 上加速 OpenGL ES 1.1 的建议
简单的实验表明,将顶点和法线从“FLOAT”切换到“SHORT”并不困难,但让我烦恼的是,当您将顶点缩小到其原始大小时(使用 glScalef),法线乘以倒数的规模。对此的自然补救措施是在提交给 GPU 之前将法线与比例相乘。然后,我的短法线几乎变成了 0,因为比例因子通常小于 0。Duh!
如何同时对顶点和法线使用“短”?我一直在尝试这个和那个大约一整天,但到目前为止我只能选择“float vertex w/ byte normal”或“short vertex w/ float normal”。
您的帮助将不胜感激。