Difference between revisions of "GLAPI/glGetShader"

From OpenGL.org
Jump to: navigation, 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 13:24, 29 April 2012

glGetShaderiv
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​);
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/.