OpenGL API 之 glGetUniformLocation

6 篇文章 0 订阅
2 篇文章 0 订阅

glGetUniformLocation

返回统一变量的位置

  • C Specification

  • format


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

name

Type

Description

program

GLuint

Specifies the program object to be queried.

name

const GLchar *

Points to a null terminated string containing the name of the uniform variable whose location is to be queried.

  • 描述

glGetUniformLocation 返回一个整数,该整数表示程序对象中特定统一变量的位置。name 必须是不包含空格的以 null 结尾的字符串。name 必须是程序中的活动统一变量名称,而不是结构、结构数组或向量或矩阵的子组件。如果 name 与程序中的活动统一变量不对应,如果 name 以保留前缀“gl_”开头,或者如果 name 与原子计数器或命名的统一块相关联,则此函数返回 -1。

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

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

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值