# glTranslate.3G - Man Page

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 )```

## Parameters

x, y, z

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

## Description

glTranslate produces a translation by  $\left(\text{x},\text{y},\text{z}\right)$. 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:

$\left(\text{ }\begin{array}{cccc}\hfill 1\text{ }\text{ }\hfill & \hfill 0\text{ }\text{ }\hfill & \hfill 0\text{ }\text{ }\hfill & \hfill \text{x}\text{ }\hfill \\ \hfill 0\text{ }\text{ }\hfill & \hfill 1\text{ }\text{ }\hfill & \hfill 0\text{ }\text{ }\hfill & \hfill \text{y}\text{ }\hfill \\ \hfill 0\text{ }\text{ }\hfill & \hfill 0\text{ }\text{ }\hfill & \hfill 1\text{ }\text{ }\hfill & \hfill \text{z}\text{ }\hfill \\ \hfill 0\text{ }\text{ }\hfill & \hfill 0\text{ }\text{ }\hfill & \hfill 0\text{ }\text{ }\hfill & \hfill 1\hfill \end{array}\text{ }\text{ }\right)$

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.

## Errors

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