From OpenGL Wiki
Jump to: navigation, search
Core in version 4.6
Core since version 2.0

glGetShaderSource: Returns the source code string from a shader object

Function Definition

 void glGetShaderSource(GLuint shader​, GLsizei bufSize​, GLsizei *length​, GLchar *source​);
Specifies the shader object to be queried.
Specifies the size of the character buffer for storing the returned source code string.
Returns the length of the string returned in source​ (excluding the null terminator).
Specifies an array of characters that is used to return the source code string.


glGetShaderSource returns the concatenation of the source code strings from the shader object specified by shader​. The source code strings for a shader object are the result of a previous call to glShaderSource. The string returned by the function will be null terminated.

glGetShaderSource returns in source​ as much of the source code string as it can, up to a maximum of bufSize​ characters. The number of characters actually returned, excluding the null termination character, is specified by length​. If the length of the returned string is not required, a value of NULL can be passed in the length​ argument. The size of the buffer required to store the returned source code string can be obtained by calling glGetShader with the value GL_SHADER_SOURCE_LENGTH.


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

GL_INVALID_OPERATION is generated if shader​ is not a shader object.

GL_INVALID_VALUE is generated if bufSize​ is less than 0.

Associated Gets

glGetShader with argument GL_SHADER_SOURCE_LENGTH


See Also

glCreateShader, 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.