GLAPI/glGetShader: Difference between revisions
m Renaming category: 'API Reference 4' to 'Core API Reference'. |
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 | 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 {{ | : 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 | '''glGetShader''' returns in {{param|params}} the value of a parameter for a specific shader object. The following parameters are defined: | ||
; {{ | ; {{enum|GL_SHADER_TYPE}} | ||
: | : {{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. | ||
; {{ | ; {{enum|GL_DELETE_STATUS}} | ||
: | : {{param|params}} returns {{enum|GL_TRUE}} if {{param|shader}} is currently flagged for deletion, and {{enum|GL_FALSE}} otherwise. | ||
; {{ | ; {{enum|GL_COMPILE_STATUS}} | ||
: | : {{param|params}} returns {{enum|GL_TRUE}} if the last compile operation on {{param|shader}} was successful, and {{enum|GL_FALSE}} otherwise. | ||
; {{ | ; {{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. | ||
; {{ | ; {{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. | ||
== Notes == | == Notes == | ||
If an error is generated, no change is made to the contents of | If an error is generated, no change is made to the contents of {{param|params}}. | ||
== Errors == | == Errors == | ||
{{ | {{enum|GL_INVALID_VALUE}} is generated if {{param|shader}} is not a value generated by OpenGL. | ||
{{ | {{enum|GL_INVALID_OPERATION}} is generated if {{param|shader}} does not refer to a shader object. | ||
{{ | {{enum|GL_INVALID_ENUM}} is generated if {{param|pname}} is not an accepted value. | ||
== Associated Gets == | == Associated Gets == | ||
{{apifunc|glGetShaderInfoLog}} with argument {{param|shader}} | |||
{{apifunc|glGetShaderSource}} with argument {{param|shader}} | |||
{{apifunc|glIsShader}} | |||
== See Also == | == See Also == | ||
{{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:Core API Reference|GetShader]] | [[Category:Core API Reference|GetShader]] | ||
[[Category:Core API Ref Shader Program Creation|GetShader]] | |||
[[Category:Shader Object API State Functions|GetShader]] |
Latest revision as of 10:01, 15 August 2013
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
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/.