|
glGetShaderiv — Returns a parameter from a shader object
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.
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, 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.
glGetShader
is available only if the
GL version is 2.0 or greater.
If an error is generated, no change is made to the
contents of params
.
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.
GL_INVALID_OPERATION
is generated if
glGetShader
is executed between the
execution of
glBegin
and the corresponding execution of
glEnd.
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/.