GLLOADMATRIX
Section: Misc. Reference Manual Pages (3G)
Page Index
NAME
glLoadMatrixd, glLoadMatrixf
- replace the current matrix with the specified matrix
C SPECIFICATION
void
glLoadMatrixd(
const GLdouble
*m )
void
glLoadMatrixf(
const GLfloat
*m )
delim $$
PARAMETERS
- m
-
Specifies a pointer to 16 consecutive values, which are used as the
elements of a $4 ~times~ 4$ column-major matrix.
DESCRIPTION
glLoadMatrix replaces the current matrix with the one whose elements are specified by
m.
The current matrix is the projection matrix,
modelview matrix,
or texture matrix,
depending on the current matrix mode
(see
glMatrixMode).
The current matrix, M, defines a transformation of coordinates.
For instance, assume M refers to the modelview matrix.
If $v ~=~ (v[0], v[1], v[2], v[3])$ is the set of object coordinates
of a vertex,
and m points to an array of $16$
single- or double-precision
floating-point values $m[0], m[1],. . .,m[15]$,
then the modelview transformation $M(v)$ does the following:
down 130
{M(v) ~ = ~
{{ left ( matrix {
ccol { ~m[0] above m[1] above m[2] above m[3] ~}
ccol { ~m[4] above m[5] above m[6] above m[7] ~}
ccol { ~m[8] above m[9] above m[10] above m[11] ~}
ccol { ~m[12]~ above m[13]~ above m[14]~ above m[15]~}
} right ) } ~~ times ~~
{left ( matrix {
ccol { ~v[0]~ above ~v[1]~ above ~v[2]~ above ~v[3]~ }
} right )} }}
Where ``$times$'' denotes matrix multiplication.
Projection and texture transformations are similarly defined.
NOTES
While the elements of the matrix may be specified with
single or double precision, the GL implementation may
store or operate on these values in less than single
precision.
ERRORS
GL_INVALID_OPERATION is generated if
glLoadMatrix
is executed between the execution of
glBegin
and the corresponding execution of
glEnd.
ASSOCIATED GETS
glGet with argument
GL_MATRIX_MODE
glGet with argument
GL_COLOR_MATRIX
glGet with argument
GL_MODELVIEW_MATRIX
glGet with argument
GL_PROJECTION_MATRIX
glGet with argument
GL_TEXTURE_MATRIX
SEE ALSO
glLoadIdentity(3G),
glMatrixMode(3G),
glMultMatrix(3G),
glPushMatrix(3G)