名称

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,图形学

GLES2.0中文API-glGetUniformLocation相关推荐

  1. GLES2.0中文API-glUseProgram

    名称 glUseProgram- 使用程序对象作为当前渲染状态的一部分 C规范 void glUseProgram(GLuint program); 参数 program 指定程序对象的句柄,该程序对 ...

  2. GLES2.0中文API-glGet

    名称 glGet - 返回所选参数的值 C规范 void glGetBooleanv(    GLenum pname,      GLboolean * params); void glGetFlo ...

  3. GLES2.0中文API-glUniform

    名称 glUniform - 指定当前程序对象的统一变量的值 C规范 void glUniform1f(    GLint location, GLfloat v0); void glUniform2 ...

  4. GLES2.0中文API-glGetActiveUniform

    名称 glGetActiveUniform - 返回有关活动统一变量的信息 C规范 void glGetActiveUniform(GLuint program, GLuint index, GLsi ...

  5. GLES2.0中文API-glTexImage2D

    名称 glTexImage2D- 指定一个二维的纹理图片 C规范 void glTexImage2D(GLenum target, GLint level, GLint internalformat, ...

  6. GLES2.0中文API-glReadPixels

    名称 glReadPixels - 从帧缓冲区中读取一个像素块 C规范 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei heigh ...

  7. GLES2.0中文API-glCopyTexImage2D

    名称 glCopyTexImage2D - 将像素复制到2D纹理图像中 C规范 void glCopyTexImage2D(    GLenum target,      GLint level,   ...

  8. GLES2.0中文API-glTexParameter

    名称 glTexParameter  - 设置纹理参数 C规范 void glTexParameterf(GLenum target,GLenum pname,GLfloat param); void ...

  9. GLES2.0中文API-glFramebufferTexture2D

    名称 glFramebufferTexture2D - 将纹理图像附加到帧缓冲对象 C规范 void glFramebufferTexture2D(GLenum target, GLenum atta ...

最新文章

  1. 主流浏览器新版本将不再支持TLS 1.0/1.1
  2. Java的知识点21——String类、StringBuffer和StringBuilder、不可变和可变字符序列使用陷阱
  3. ansible+heartbeatV2构建高可用群集
  4. django admin使用在前端_Django| 给你博客装个Markdown编辑器
  5. php滴滴平台接口,图片服务API文档
  6. 从 Storm 迁移到 Flink,美团外卖实时数仓建设实践
  7. java输入最大10位数,倒数输出(很鸡肋)
  8. EIGRP and the OSPF redistribute
  9. 被抖音公司开除了....
  10. 用例子看Swift4的GCD
  11. 如何给企业选择一款ERP系统
  12. js中的call及apply
  13. android 拼音搜索
  14. 手把手教你用Execel计算两个矩阵的乘法
  15. 微信服务号突破每个月4条的限制
  16. 页式存储系统的逻辑地址是由页号和页内地址两部分组成的
  17. 使用scapy 构造一个 特定Ether dmac 的报文
  18. Soul聊天记录备份和恢复(旧机迁移至新机)
  19. mysql 手动写时间_MySQL如何在范围内填写缺失日期?
  20. 实习第五天 工作总结

热门文章

  1. 河南南阳:筹备火热 卧龙岗文化园春节大庙会1月22日启幕
  2. QQ邮箱设置企业邮箱别名邮箱
  3. 孙陶然:切合实际是设定目标的基础
  4. 苹果手机怎样添加无线网服务器,如何让苹果手机网速提升三倍?
  5. 怎样设置word背景图片每一页都不同
  6. 电脑浏览器收藏夹中的记录如何恢复?
  7. linux打开笔记本摄像头
  8. 基于具体实验对脑部分区的具体调研
  9. 【sj借鉴】NP-hard
  10. 程序员脱发?看看各个创始人的发量?