
https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetShaderiv.xhtml
名称
glGetShaderiv ---- 从一个 shader 对象中返回一个 指定 pname 的 params 参数。
原型
void glGetShaderiv( GLuint shader,
GLenum pname,
GLint *params);
参数
shader
指定需要查询的 shader 对象。
pname
指定需要查看的参数。接受符号名称有 GL_SHADER_TYPE
, GL_DELETE_STATUS
, GL_COMPILE_STATUS
, GL_INFO_LOG_LENGTH
, GL_SHADER_SOURCE_LENGTH
。
params
返回请求的参数对象值。
描述
glGetShader 返回指定 shader 对象的 pname 参数 的 params 值。下列是参数的常量定义:
- GL_SHADER_TYPE
如果 shader 是个 vertex shader 对象,params 返回GL_VERTEX_SHADER
,如果 shader 是个 geometry shader 对象,则params 返回GL_GEOMETRY_SHADER
,如果 shader 是个 fragment shader 对象,则params 返回GL_FRAGMENT_SHADER
。 - GL_DELETE_STATUS
如果 shader 是当前删除的标记,则 params 返回GL_TRUE
,否则返回GL_FALSE
。 - GL_COMPILE_STATUS
如何 shader 编译成功,则 params 返回GL_TRUE
,否则返回GL_FALSE
。 - GL_INFO_LOG_LENGTH
shader 包含空结尾字符,则 params 返回日志信息的字符数量(例如,查询储存日志信息的字符缓存大小)。如果 shader 没有日志信息,则返回 0。 - GL_SHADER_SOURCE_LENGTH
params 返回生成 shader 的源码字符串长度,也包含空结尾符(例如,查询储存shader源码的字符缓存大小)。如果没有源码,则返回 0。
注意
如果没错误生成,则不修改 params 的内容。
错误
如果 shader 参数不是 OpenGL 生成的,那么生成 GL_INVALID_VALUE
错误。
如果 shader 参数不是一个shader对象,那么生成 GL_INVALID_OPERATION
错误。
如果 params 参数不是可接受的值,那么生成 GL_INVALID_ENUM
错误。