我正在关注适用于 iPhone 的 Ray Wenderlich OpenGL ES 2 教程。
我对他的用法感到困惑,glVertexAttribPointer
并希望有人能解释他为什么像他那样设置参数。专门用于sizeof()
for 中的最终参数glVertexAttribPointer
。与sizeof
数据偏移有何关系?
这是顶点结构:
typedef struct{
float Position[3];
float Color[4];
}
Vertex;
以及 Vertex 和 Indices 数据代码:
const Vertex Vertices[] = {
{{1, -1, 0}, {1, 0, 0, 1}},
{{1, 1, 0}, {1, 0, 0, 1}},
{{-1, 1, 0}, {0, 1, 0, 1}},
{{-1, -1, 0}, {0, 1, 0, 1}},
{{1, -1, -1}, {1, 0, 0, 1}},
{{1, 1, -1}, {1, 0, 0, 1}},
{{-1, 1, -1}, {0, 1, 0, 1}},
{{-1, -1, -1}, {0, 1, 0, 1}}
};
const GLubyte Indices[] = {
// Front
0, 1, 2,
2, 3, 0,
// Back
4, 6, 5,
4, 7, 6,
// Left
2, 7, 3,
7, 6, 2,
// Right
0, 4, 1,
4, 1, 5,
// Top
6, 2, 1,
1, 6, 5,
// Bottom
0, 3, 7,
0, 7, 4
};
能否解释一下为什么将参数设置为特别是整件事sizeof
。
谢谢!!