名称
glGetProgramiv- 从program对象返回一个参数的值
C规范
void glGetProgramiv(GLuint program,GLenum pname,GLint *params);
参数
program
指定要查询的program对象。
pname
指定program对象参数。 接受的符号名称为GL_DELETE_STATUS,GL_LINK_STATUS,GL_VALIDATE_STATUS,GL_INFO_LOG_LENGTH,GL_ATTACHED_SHADERS,GL_ACTIVE_ATTRIBUTES,GL_ACTIVE_UNIFORMS,GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,GL_ACTIVE_UNIFORM_MAX_LENGTH。
params
返回请求的对象参数的值。
描述
glGetProgramiv以params形式返回指定的program对象的参数值。 定义了以下参数:
GL_DELETE_STATUS
如果program当前标记为删除,则params返回GL_TRUE,否则返回GL_FALSE。
GL_LINK_STATUS
如果program的最后一个链接操作成功,则params返回GL_TRUE,否则返回GL_FALSE。
GL_VALIDATE_STATUS
params返回GL_TRUE,program的最后一次验证操作成功了也返回GL_TRUE,否则返回GL_FALSE。
GL_INFO_LOG_LENGTH
params返回program信息日志中的字符数,包括空终止字符(即,存储信息日志所需的字符缓冲区的大小)。 如果程序没有信息日志,则返回值0。
GL_ATTACHED_SHADERS
params返回附加到program的着色器对象的数量。
GL_ACTIVE_ATTRIBUTES
params返回program的激活状态的属性变量数。
GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
params返回program的最长激活状态的属性名称的长度,包括空终止字符(即,存储最长属性名称所需的字符缓冲区的大小)。 如果不存在活动属性,则返回0。
GL_ACTIVE_UNIFORMS
params返回program的激活状态的统一变量的数量。
GL_ACTIVE_UNIFORM_MAX_LENGTH
params返回program的最长激活状态的统一变量名称的长度,包括空终止字符(即,存储最长统一变量名称所需的字符缓冲区的大小)。 如果不存在活动的统一变量,则返回0。
注意
如果生成错误,则不会更改params的内容。
错误
GL_INVALID_ENUM
:pname不是一个可接受的值
GL_INVALID_VALUE
:program不是OpenGL生成的值
GL_INVALID_OPERATION: program没有关联program对象
相关Gets
glGetActiveAttrib 参数:program
glGetActiveUniform 参数:program
glGetAttachedShaders 参数:program
glGetProgramInfoLog 参数:program
另见
glAttachShader, glCreateProgram, glDeleteProgram, glGetShaderiv, glLinkProgram, glValidateProgram
版权
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetProgramiv.xml
https://blog.csdn.net/flycatdeng
Copyright © 1991-2006 Silicon Graphics, Inc.本文档的许可是根据SGI Free Software B License.详见http://oss.sgi.com/projects/FreeB/.