GLLOADMATRIX() MachTen Programmer’s Manual GLLOADMATRIX()

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 glMa-
trixMode).

The current matrix, M, defines a transformation of coor-
dinates. 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 trans-
formation $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 pre-
cision.

ERRORS
GL_INVALID_OPERATION is generated if glLoadMatrix is exe-
cuted between the execution of glBegin and the correspond-
ing execution of glEnd.

ASSOCIATED GETS
glGet with argument GL_MATRIX_MODE
glGet with argument GL_MODELVIEW_MATRIX
glGet with argument GL_PROJECTION_MATRIX
glGet with argument GL_TEXTURE_MATRIX

SEE ALSO
glLoadIdentity, glMatrixMode, glMultMatrix, glPushMatrix

MachTen 2