名称
glGetProgramResourceLocation — 查询程序中命名资源的位置
C 规范
GLint glGetProgramResourceLocation( GLuint program,
GLenum programInterface,
const char * name);
参数
program
要查询其资源的程序对象的名称。
programInterface
标识程序内包含名称资源的接口的令牌。
name
查询位置的资源名称。
描述
glGetProgramResourceLocation返回在程序对象程序的接口programInterface中分配给名为name的变量的位置。 program必须是已成功链接的程序的名称。 programInterface必须是GL_UNIFORM,GL_PROGRAM_INPUT,GL_PROGRAM_OUTPUT或GL_TRANSFORM_FEEDBACK_BUFFER之一。
如上所述,如果发生错误,名称未标识programInterface上的活动变量或名称标识未分配有效位置的活动变量,则将返回值-1。这些命令返回的位置与查询GL_LOCATION和GL_LOCATION_INDEX资源属性时返回的位置相同。
如果满足以下条件,则提供给glGetProgramResourceLocation的字符串被认为与活动变量匹配:
字符串与活动变量的名称完全匹配
如果字符串标识了活动数组的基本名称,则在后缀“ [0]”附加到字符串的情况下,字符串将与变量的名称完全匹配
如果字符串标识了数组的活动元素,则字符串以“ [”字符,不带“ &#