文章目录
- 名称
- 原型
- 参数
- 描述
- 注意
- 错误

https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetShaderiv.xhtml
OpenGL API - 笔记汇总
名称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
错误。