GLAPI/glGetShader: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adding better formatting.
m Bot: Adding better formatting.
Line 13: Line 13:
: Specifies the shader object to be queried.
: Specifies the shader object to be queried.
; pname
; pname
: Specifies the object parameter. Accepted symbolic names are {{code|GL_SHADER_TYPE}}, {{code|GL_DELETE_STATUS}}, {{code|GL_COMPILE_STATUS}}, {{code|GL_INFO_LOG_LENGTH}}, {{code|GL_SHADER_SOURCE_LENGTH}}.
: Specifies the object parameter. Accepted symbolic names are {{enum|GL_SHADER_TYPE}}, {{enum|GL_DELETE_STATUS}}, {{enum|GL_COMPILE_STATUS}}, {{enum|GL_INFO_LOG_LENGTH}}, {{enum|GL_SHADER_SOURCE_LENGTH}}.
; params
; params
: Returns the requested object parameter.
: Returns the requested object parameter.
Line 21: Line 21:
'''glGetShader''' returns in {{param|params}} the value of a parameter for a specific shader object. The following parameters are defined:
'''glGetShader''' returns in {{param|params}} the value of a parameter for a specific shader object. The following parameters are defined:


; {{code|GL_SHADER_TYPE}}
; {{enum|GL_SHADER_TYPE}}
: {{param|params}} returns {{code|GL_VERTEX_SHADER}} if {{param|shader}} is a vertex shader object, {{code|GL_GEOMETRY_SHADER}} if {{param|shader}} is a geometry shader object, and {{code|GL_FRAGMENT_SHADER}} if {{param|shader}} is a fragment shader object.
: {{param|params}} returns {{enum|GL_VERTEX_SHADER}} if {{param|shader}} is a vertex shader object, {{enum|GL_GEOMETRY_SHADER}} if {{param|shader}} is a geometry shader object, and {{enum|GL_FRAGMENT_SHADER}} if {{param|shader}} is a fragment shader object.
; {{code|GL_DELETE_STATUS}}
; {{enum|GL_DELETE_STATUS}}
: {{param|params}} returns {{code|GL_TRUE}} if {{param|shader}} is currently flagged for deletion, and {{code|GL_FALSE}} otherwise.
: {{param|params}} returns {{enum|GL_TRUE}} if {{param|shader}} is currently flagged for deletion, and {{enum|GL_FALSE}} otherwise.
; {{code|GL_COMPILE_STATUS}}
; {{enum|GL_COMPILE_STATUS}}
: {{param|params}} returns {{code|GL_TRUE}} if the last compile operation on {{param|shader}} was successful, and {{code|GL_FALSE}} otherwise.
: {{param|params}} returns {{enum|GL_TRUE}} if the last compile operation on {{param|shader}} was successful, and {{enum|GL_FALSE}} otherwise.
; {{code|GL_INFO_LOG_LENGTH}}
; {{enum|GL_INFO_LOG_LENGTH}}
: {{param|params}} returns the number of characters in the information log for {{param|shader}} including the null termination character (i.e., the size of the character buffer required to store the information log). If {{param|shader}} has no information log, a value of 0 is returned.
: {{param|params}} returns the number of characters in the information log for {{param|shader}} including the null termination character (i.e., the size of the character buffer required to store the information log). If {{param|shader}} has no information log, a value of 0 is returned.
; {{code|GL_SHADER_SOURCE_LENGTH}}
; {{enum|GL_SHADER_SOURCE_LENGTH}}
: {{param|params}} returns the length of the concatenation of the source strings that make up the shader source for the {{param|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.
: {{param|params}} returns the length of the concatenation of the source strings that make up the shader source for the {{param|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.
== Notes ==
== Notes ==
Line 37: Line 37:
== Errors ==
== Errors ==


{{code|GL_INVALID_VALUE}} is generated if {{param|shader}} is not a value generated by OpenGL.
{{enum|GL_INVALID_VALUE}} is generated if {{param|shader}} is not a value generated by OpenGL.


{{code|GL_INVALID_OPERATION}} is generated if {{param|shader}} does not refer to a shader object.
{{enum|GL_INVALID_OPERATION}} is generated if {{param|shader}} does not refer to a shader object.


{{code|GL_INVALID_ENUM}} is generated if {{param|pname}} is not an accepted value.
{{enum|GL_INVALID_ENUM}} is generated if {{param|pname}} is not an accepted value.


== Associated Gets ==
== Associated Gets ==

Revision as of 17:24, 29 April 2012

glGetShaderiv
Core in version 4.6
Core since version 2.0

glGetShaderiv: Returns a parameter from a shader object

Function Definition

 void glGetShaderiv(GLuint shader​, GLenum pname​, GLint *params​);
shader
Specifies the shader object to be queried.
pname
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.
params
Returns the requested object parameter.

Description

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

GL_SHADER_TYPE
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.
GL_DELETE_STATUS
params​ returns GL_TRUE if shader​ is currently flagged for deletion, and GL_FALSE otherwise.
GL_COMPILE_STATUS
params​ returns GL_TRUE if the last compile operation on shader​ was successful, and GL_FALSE otherwise.
GL_INFO_LOG_LENGTH
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.
GL_SHADER_SOURCE_LENGTH
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.

Notes

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

Errors

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​

glIsShader

See Also

glCompileShader, glCreateShader, glDeleteShader, glGetProgram, glShaderSource

Copyright

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. http://opencontent.org/openpub/.