名称
glBindAttribLocation - 将通用顶点属性索引与命名属性变量相关联
C规范
void glBindAttribLocation(GLuint program,
GLuint index,
const GLchar *name);
参数
program
指定要在其中建立关联的程序对象的句柄。
index
指定要绑定的通用顶点属性的索引。
name
指定一个以空终止符结尾的字符串,其中包含要绑定索引的顶点着色器属性变量的名称。
描述
glBindAttribLocation用于将程序指定的程序对象中的用户定义属性变量与通用顶点属性索引相关联。用户定义的属性变量的名称作为名称中的空终止字符串传递。要绑定到此变量的通用顶点属性索引由index指定。当程序成为当前状态的一部分时,通过通用顶点属性索引提供的值将修改由name指定的用户定义属性变量的值。
如果name引用矩阵属性变量,则index引用矩阵的第一列。然后,对于mat2类型的矩阵,其他矩阵列自动绑定到位置index + 1; index + 1和index + 2表示mat3类型的矩阵;对于mat4类型的矩阵,index + 1,index + 2和index + 3。
此命令使顶点着色器可以使用属性变量的描述性名称,而不是编号为0到GL_MAX_VERTEX_ATTRIBS -1的泛型变量。发送到每个通用属性索引的值是当前状态的一部分,就像标准顶点属性(如颜色,法线和顶点位置)一样。如果通过调用glUseProgram使不同的程序对象成为当前的程序,则跟踪通用顶点属性,使得新程序对象中的属性也

glBindAttribLocation 函数用于在 OpenGL ES 3.0 中将用户定义的顶点属性变量与通用顶点属性索引关联。通过此函数,可以指定程序对象中的属性变量名称与特定的索引绑定,使得在顶点着色器中可以使用变量名称而非索引来引用属性。在调用 glLinkProgram 之前设置的绑定才会生效,且在链接后保持固定。注意,不允许将标准OpenGL顶点属性绑定,也不允许一个属性变量绑定到多个索引,但多个变量可以绑定到同一索引。
最低0.47元/天 解锁文章
747

被折叠的 条评论
为什么被折叠?



