Difference between revisions of "GLAPI/glGetShader"

From OpenGL.org
Jump to: navigation, search
m (Bot: Adjusting API page category.)
m (Bot: Adding better formatting.)
(3 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
== Function Definition ==
 
== Function Definition ==
  
   void '''glGetShaderiv'''(GLuint ''shader'', GLenum ''pname'', GLint *''params'');
+
   void '''glGetShaderiv'''(GLuint {{param|shader}}, GLenum {{param|pname}}, GLint *{{param|params}});
  
 
; shader
 
; shader
 
: 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 19: Line 19:
 
== Description ==
 
== Description ==
  
'''glGetShader''' returns in ''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}}
: ''params'' returns {{code|GL_VERTEX_SHADER}} if ''shader'' is a vertex shader object, {{code|GL_GEOMETRY_SHADER}} if ''shader'' is a geometry shader object, and {{code|GL_FRAGMENT_SHADER}} if ''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}}
: ''params'' returns {{code|GL_TRUE}} if ''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}}
: ''params'' returns {{code|GL_TRUE}} if the last compile operation on ''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}}
: ''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.
+
: {{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}}
: ''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.
+
: {{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 ==
  
If an error is generated, no change is made to the contents of ''params''.
+
If an error is generated, no change is made to the contents of {{param|params}}.
  
 
== Errors ==
 
== Errors ==
  
{{code|GL_INVALID_VALUE}} is generated if ''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 ''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 ''pname'' is not an accepted value.
+
{{enum|GL_INVALID_ENUM}} is generated if {{param|pname}} is not an accepted value.
  
 
== Associated Gets ==
 
== Associated Gets ==
  
[[GLAPI/glGetShaderInfoLog|glGetShaderInfoLog]] with argument ''shader''
+
{{apifunc|glGetShaderInfoLog}} with argument {{param|shader}}
  
[[GLAPI/glGetShaderSource|glGetShaderSource]] with argument ''shader''
+
{{apifunc|glGetShaderSource}} with argument {{param|shader}}
  
[[GLAPI/glIsShader|glIsShader]]
+
{{apifunc|glIsShader}}
  
 
== See Also ==
 
== See Also ==
  
[[GLAPI/glCompileShader|glCompileShader]], [[GLAPI/glCreateShader|glCreateShader]], [[GLAPI/glDeleteShader|glDeleteShader]], [[GLAPI/glGetProgram|glGetProgram]], [[GLAPI/glShaderSource|glShaderSource]]
+
{{apifunc|glCompileShader}}, {{apifunc|glCreateShader}}, {{apifunc|glDeleteShader}}, {{apifunc|glGetProgram}}, {{apifunc|glShaderSource}}
  
 
== Copyright ==
 
== Copyright ==
Line 59: Line 59:
 
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/ http://opencontent.org/openpub/].
 
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/ http://opencontent.org/openpub/].
  
[[Category:API Reference 4|GetShader]]
+
[[Category:Core API Reference|GetShader]]
[[Category:GL 4 API Shader Program Creation|GetShader]]
+
[[Category:Core API Ref Shader Program Creation|GetShader]]

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/.