【发布时间】:2013-03-13 08:44:33
【问题描述】:
我正在阅读有关 OpenGL 和 OpenGLES 的教程,我对在这两个 API 中使用函数 glVertexAttribPointer 有点困惑。
在 OpenGL 教程中,此函数使用数字偏移作为最后一个参数(通过转换为 const GLVoid*),我认为顶点直接取自当前数组缓冲区。
glVertexAttribPointer(vs_position, 2, GL_FLOAT, GL_TRUE, 5 * sizeof(GLfloat), (const GLvoid*) (3*sizeof(GLfloat)) );
在 OpenGLES 教程中,最后一个参数直接指向表示顶点的结构:
GLFloat vertices[] = {...definition};
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, vertices);
我不明白这两个函数是如何工作的。它们是完全不同的功能吗?
【问题讨论】: