指定通用顶点属性的值。在顶点着色器中声明的用户定义的属性变量可以通过调用glBindAttribLocation绑定到通用属性索引。这允许应用程序在顶点着色器中使用描述性变量名称。对指定通用顶点属性的后续更改将立即反映为对顶点着色器中相应属性变量的更改。用于从内存向显存上传数据(数据是由glBufferData之类的方式从内存上传到显存的)。属性数组中的值在VBO中存放。(这些数据通过 glDrawElements 或 glDrawArrays 从 CPU 主存中拷贝到 GPU 中去进行运算与渲染。这种做法需要频繁地在 CPU 与 GPU 之间传递数据,效率低下,因此出现了 VBO (Vertex Buffer object),即顶点缓存,它直接在 GPU 中开辟一个缓存区域来存储顶点数据,因为它是用来缓存储顶点数据,因此被称之为顶点缓存。)
与openGL之API学习(三十一)glVertexAttribPointer的主要区别是可以少量传递数据,更适用于逐图元或全局绑定绘制的情况。
void glVertexAttrib1f( GLuint index,GLfloat v0);
void glVertexAttrib2f( GLuint index,GLfloat v0, GLfloat v1);
void glVertexAttrib3f( GLuint index,GLfloat v0,GLfloat v1,GLfloat v2);
void glVertexAttrib4f( GLuint index,GLfloat v0,GLfloat v1,GLfloat v2,GLfloat v3);
void glVertexAttrib1fv( GLuint index,const GLfloat *v);
vo