glTranslate.3G man page

glTranslate — multiply the current matrix by a translation matrix

C Specification

void glTranslated(GLdouble x, GLdouble y, GLdouble z);

void glTranslatef(GLfloat x, GLfloat y, GLfloat z);


x, y, z

Specify the x, y, and z coordinates of a translation vector.


glTranslate produces a translation by x y z. The current matrix (see glMatrixMode()) is multiplied by this translation matrix, with the product replacing the current matrix, as if glMultMatrix() were called with the following matrix for its argument:

1 0 0 x 0 1 0 y 0 0 1 z 0 0 0 1

If the matrix mode is either GL_MODELVIEW or GL_PROJECTION, all objects drawn after a call to glTranslate are translated.

Use glPushMatrix() and glPopMatrix() to save and restore the untranslated coordinate system.


GL_INVALID_OPERATION is generated if glTranslate 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

glMatrixMode(), glMultMatrix(), glPushMatrix(), glRotate(), glScale()


Referenced By

The man pages glTranslated.3G(3) and glTranslatef.3G(3) are aliases of glTranslate.3G(3).

07/13/2018 OpenGL Manual