OpenGL ES 编程指南讨论了您应该避免未对齐的顶点数据,并给出了将数据对齐到 4 字节块的示例。
然而,在我在网上找到的大多数演示材料和教程中,我没有看到有人这样做。以下示例来自 71 Squared 上的演示项目:
static const SSTexturedVertexData3D EnemyFighterVertexData[] = {
{/*v:*/{1.987003, -0.692074, -1.720503}, /*n:*/{0.946379, -0.165685, -0.277261}, /*t:*/{0.972816, 0.024320}},
你会怎么做呢?在 v 和 n 中添加一个虚拟 0.0,在 t 中添加 2 个?
我的猜测是,如果您只为每个应用程序加载一次顶点数据,那并不重要,但如果您在每个渲染帧上绑定和重新绑定到不同的数组,那就很重要了。我的计划是将我所有的数组组合成一个,但我很好奇。