'\" e '\"! eqn | mmdoc '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 24 September 1999 .ds Re Release 1.2.1 .ds Dp Jan 14 18:30 .ds Dm 01 loadmatri .ds Xs 32571 5 loadmatrix.gl .TH GLLOADMATRIX 3G .SH NAME .B "glLoadMatrixd, glLoadMatrixf \- replace the current matrix with the specified matrix .SH C SPECIFICATION void \f3glLoadMatrixd\fP( const GLdouble \fI*m\fP ) .nf .fi void \f3glLoadMatrixf\fP( const GLfloat \fI*m\fP ) .nf .fi .EQ delim $$ .EN .SH PARAMETERS .TP \w'\f2m\fP\ \ 'u \f2m\fP Specifies a pointer to 16 consecutive values, which are used as the elements of a $4 ~times~ 4$ column-major matrix. .SH DESCRIPTION \%\f3glLoadMatrix\fP replaces the current matrix with the one whose elements are specified by \f2m\fP. The current matrix is the projection matrix, modelview matrix, or texture matrix, depending on the current matrix mode (see \%\f3glMatrixMode\fP). .P 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 \f2m\fP 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: .P .ce .EQ 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 )} }} .EN .sp .P Where ``$times$'' denotes matrix multiplication. .P Projection and texture transformations are similarly defined. .SH 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. .SH ERRORS \%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glLoadMatrix\fP is executed between the execution of \%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP. .SH ASSOCIATED GETS \%\f3glGet\fP with argument \%\f3GL_MATRIX_MODE\fP .br \%\f3glGet\fP with argument \%\f3GL_COLOR_MATRIX\fP .br \%\f3glGet\fP with argument \%\f3GL_MODELVIEW_MATRIX\fP .br \%\f3glGet\fP with argument \%\f3GL_PROJECTION_MATRIX\fP .br \%\f3glGet\fP with argument \%\f3GL_TEXTURE_MATRIX\fP .SH SEE ALSO \%\f3glLoadIdentity(3G)\fP, \%\f3glMatrixMode(3G)\fP, \%\f3glMultMatrix(3G)\fP, \%\f3glPushMatrix(3G)\fP