1.void glVertexAttribPointer( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride,const GLvoid * pointer);
该函数用来为顶点着色器中的输入参数配置合适的值。
第一个参数index:声明这个参数的名称。用glGetAttribLocation取得,再赋给它。
第二个参数size,定义这个参数由几个值组成。如顶点是3个float(x,y,x),而颜色是4个float(r,g,b,z)。
第三个参数type,声明第二个参数的每个值是什么类型。
第四个参数normalized,指定当被访问时,固定点数据值是否应该被归一化(GL_TRUE)或者直接转换为固定点值(GL_FALSE)。通常为GL_FALSE。
第五个参数stride,描述该参数的字节数。通常用sizeof来取得。
最后一个参数pointer,顶点数组。另一种说法是数据结构的偏移量。表示在这个结构中,从哪里开始取值。如
该函数用来为顶点着色器中的输入参数配置合适的值。
第一个参数index:声明这个参数的名称。用glGetAttribLocation取得,再赋给它。
第二个参数size,定义这个参数由几个值组成。如顶点是3个float(x,y,x),而颜色是4个float(r,g,b,z)。
第三个参数type,声明第二个参数的每个值是什么类型。
第四个参数normalized,指定当被访问时,固定点数据值是否应该被归一化(GL_TRUE)或者直接转换为固定点值(GL_FALSE)。通常为GL_FALSE。
第五个参数stride,描述该参数的字节数。通常用sizeof来取得。
最后一个参数pointer,顶点数组。另一种说法是数据结构的偏移量。表示在这个结构中,从哪里开始取值。如
//为画笔指定顶点位置数据 GLES20.glVertexAttribPointer ( maPositionHandle, 3, GLES20.GL_FLOAT, false, <span style="white-space:pre"> </span>3*4, <span style="white-space:pre"> </span>mVertexBuffer ); //为画笔指定顶点纹理坐标数据 GLES20.glVertexAttribPointer ( maTexCoorHandle, 2, GLES20.GL_FLOAT, false, <span style="white-space:pre"> </span>2*4, <span style="white-space:pre"> </span>mTexCoorBuffer );
未完待续。。。