Name
cgGLSetStateMatrixParameter - set the values of a matrix parameter to a matrix in the OpenGL state
Synopsis
#include <Cg/cgGL.h>
void cgGLSetStateMatrixParameter( CGparameter param,
CGGLenum matrix,
CGGLenum transform );
Parameters
- param
-
The matrix parameter that will be set.
- matrix
-
An enumerant indicating which matrix should be retrieved from the OpenGL
state. Must be one of the following :
-
- CG_GL_MODELVIEW_MATRIX
- CG_GL_PROJECTION_MATRIX
- CG_GL_TEXTURE_MATRIX
- CG_GL_MODELVIEW_PROJECTION_MATRIX
- transform
-
An enumerant indicating an optional transformation that may be applied to
the matrix before it is set. Must be one of the following :
-
- CG_GL_MATRIX_IDENTITY
- CG_GL_MATRIX_TRANSPOSE
- CG_GL_MATRIX_INVERSE
- CG_GL_MATRIX_INVERSE_TRANSPOSE
Return Values
None.
Description
cgGLSetStateMatrixParameter sets a matrix parameter to the values retrieved
from an OpenGL state matrix. The state matrix to retrieve is indicated by
matrix, which may be one of the following :
- CG_GL_MODELVIEW_MATRIX
-
Get the current modelview matrix.
- CG_GL_PROJECTION_MATRIX
-
Get the current projection matrix.
- CG_GL_TEXTURE_MATRIX
-
Get the current texture matrix.
- CG_GL_MODELVIEW_PROJECTION_MATRIX
-
Get the concatenated modelview and projection matrices.
The transform parameter specifies an optional transformation which
will be applied to the retrieved matrix before setting the values in
the parameter. transform must be one of the following :
- CG_GL_MATRIX_IDENTITY
-
Don't apply any transform, leaving the matrix as is.
- CG_GL_MATRIX_TRANSPOSE
-
Transpose the matrix.
- CG_GL_MATRIX_INVERSE
-
Invert the matrix.
- CG_GL_MATRIX_INVERSE_TRANSPOSE
-
Transpose and invert the matrix.
cgGLSetStateMatrixParameter may only be called with a uniform matrix
parameter. If the size of the matrix is less than 4x4, the upper left corner
of the matrix that fits into the given matrix parameter will be returned.
Examples
to-be-written
Errors
CG_INVALID_PROFILE_ERROR is generated if param's profile is not
a supported OpenGL profile.
CG_NOT_MATRIX_PARAM_ERROR is generated if param is not a matrix parameter.
CG_INVALID_ENUMERANT_ERROR is generated if either matrix or transform
is not one of the allowed enumerant values.
CG_INVALID_PARAM_HANDLE_ERROR is generated if param is not a valid parameter.
CG_INVALID_PARAMETER_ERROR is generated if the parameter fails to
set for any other reason.
History
cgGLSetStateMatrixParameter was introduced in Cg 1.1.
See Also
cgGLSetMatrixParameter,
cgGLGetMatrixParameter
|