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