'\"! eqn | mmdoc '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 6 March 1997 .ds Re Release 1.1.0 .ds Dp Mar 17 18:10 .ds Dm Mar 6 20:0 .ds Xs 16408 4 translate.gl .TH GLTRANSLATE .SH NAME .B "glTranslated, glTranslatef \- multiply the current matrix by a translation matrix .SH C SPECIFICATION void \f3glTranslated\fP( GLdouble \fIx\fP, .nf .ta \w'\f3void \fPglTranslated( 'u GLdouble \fIy\fP, GLdouble \fIz\fP ) .fi void \f3glTranslatef\fP( GLfloat \fIx\fP, .nf .ta \w'\f3void \fPglTranslatef( 'u GLfloat \fIy\fP, GLfloat \fIz\fP ) .fi .EQ delim $$ .EN .SH PARAMETERS .TP \w'\f2x\fP\ \f2y\fP\ \f2z\fP\ \ 'u \f2x\fP, \f2y\fP, \f2z\fP Specify the \f2x\fP, \f2y\fP, and \f2z\fP coordinates of a translation vector. .SH DESCRIPTION \f3glTranslate\fP produces a translation by $("x","y","z")$. The current matrix (see .br \f3glMatrixMode\fP) is multiplied by this translation matrix, with the product replacing the current matrix, as if \f3glMultMatrix\fP were called with the following matrix for its argument: .sp .ce .EQ left ( ~ down 20 matrix { ccol { 1~~ above 0~~ above 0~~ above 0~~ } ccol { 0~~ above 1~~ above 0~~ above 0~~ } ccol { 0~~ above 0~~ above 1~~ above 0~~ } ccol { "x"~ above "y"~ above "z"~ above 1} } ~~right ) .EN .sp .RE If the matrix mode is either \f3GL_MODELVIEW\fP or \f3GL_PROJECTION\fP, all objects drawn after a call to \f3glTranslate\fP are translated. .P Use \f3glPushMatrix\fP and \f3glPopMatrix\fP to save and restore the untranslated coordinate system. .SH ERRORS \f3GL_INVALID_OPERATION\fP is generated if \f3glTranslate\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_MODELVIEW_MATRIX\fP .br \f3glGet\fP with argument \f3GL_PROJECTION_MATRIX\fP .br \f3glGet\fP with argument \f3GL_TEXTURE_MATRIX\fP .SH SEE ALSO \f3glMatrixMode\fP, \f3glMultMatrix\fP, \f3glPushMatrix\fP, \f3glRotate\fP, \f3glScale\fP