GLES2.0中文API-glGetUniformLocation

名称

glGetUniformLocation- 返回统一变量的位置

C规范

GLint glGetUniformLocation(GLuint program,const GLchar *name);

参数

program

指定要查询的程序对象。

name

要查询其位置的统一变量的名称。

描述

glGetUniformLocation返回一个整数,表示程序对象中特定统一变量的位置。 name必须是不包含空格的空终止字符串。 name必须是程序中的活动统一变量名,它不能是结构,也不能是结构数组或向量或矩阵的子组件。 如果name与程序中的活动统一变量不对应,或者name以保留前缀“gl_”开头,则此函数返回-1。

可以通过为结构中的每个字段调用glGetUniformLocation来查询作为结构或结构数组的统一变量。 数组元素运算符“[]”和结构字段运算符“.” 可以在name中使用,以便选择数组中的元素或结构中的字段。 使用这些运算符的结果不允许是另一个结构,结构数组或向量或矩阵的子组件。 除非name的最后一部分表示统一变量数组,否则可以使用数组的名称或使用“[0]”附加的名称来检索数组的第一个元素的位置。

在程序对象成功链接之前,分配给统一变量的实际位置是不知道的。发生链接后,命令glGetUniformLocation可用于获取统一变量的位置。 然后可以将此位置值传递给glUniform以设置统一变量的值或glGetUniform以查询统一变量的当前值。成功链接程序对象后,统一变量的索引值保持不变,直到发生下一个链接命令。 如果链接成功,则只能在链接后查询统一变量位置和值。

错误

GL_INVALID_VALUE program不是OpenGL生成的值。

GL_INVALID_OPERATION program不是程序对象。

GL_INVALID_OPERATION program没有成功链接。

相关Gets

glGetActiveUniform 参数program和活动的统一变量索引。

glGetProgramiv 参数programGL_ACTIVE_UNIFORMS 或 GL_ACTIVE_UNIFORM_MAX_LENGTH

glGetUniform 参数program和统一变量的名称

glIsProgram

另见

glLinkProgram,glUniform

版权

https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetUniformLocation.xml

https://blog.csdn.net/flycatdeng

Copyright © 1991-2006 Silicon Graphics, Inc.本文档的许可是根据SGI Free Software B License.详见http://oss.sgi.com/projects/FreeB/.

Android,OpenGL ES,图形学

你可能感兴趣的:(gles,GLES2.0中文API)