96 lines
2.5 KiB
Plaintext
96 lines
2.5 KiB
Plaintext
'\" 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
|