Jump to: navigation, search
Core in version 4.5
Core since version 2.0

glGetShaderiv: Returns a parameter from a shader object

Function Definition

 void glGetShaderiv(GLuint shader​, GLenum pname​, GLint *params​);
Specifies the shader object to be queried.
Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE​, GL_DELETE_STATUS​, GL_COMPILE_STATUS​, GL_INFO_LOG_LENGTH​, GL_SHADER_SOURCE_LENGTH​.
Returns the requested object parameter.


glGetShader returns in params​ the value of a parameter for a specific shader object. The following parameters are defined:

params​ returns GL_VERTEX_SHADER​ if shader​ is a vertex shader object, GL_GEOMETRY_SHADER​ if shader​ is a geometry shader object, and GL_FRAGMENT_SHADER​ if shader​ is a fragment shader object.
params​ returns GL_TRUE​ if shader​ is currently flagged for deletion, and GL_FALSE​ otherwise.
params​ returns GL_TRUE​ if the last compile operation on shader​ was successful, and GL_FALSE​ otherwise.
params​ returns the number of characters in the information log for shader​ including the null termination character (i.e., the size of the character buffer required to store the information log). If shader​ has no information log, a value of 0 is returned.
params​ returns the length of the concatenation of the source strings that make up the shader source for the shader​, including the null termination character. (i.e., the size of the character buffer required to store the shader source). If no source code exists, 0 is returned.


If an error is generated, no change is made to the contents of params​.


GL_INVALID_VALUE​ is generated if shader​ is not a value generated by OpenGL.

GL_INVALID_OPERATION​ is generated if shader​ does not refer to a shader object.

GL_INVALID_ENUM​ is generated if pname​ is not an accepted value.

Associated Gets

glGetShaderInfoLog with argument shader​

glGetShaderSource with argument shader​


See Also

glCompileShader, glCreateShader, glDeleteShader, glGetProgram, glShaderSource


Copyright © 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999.