## Name

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

## Parameters

`x`

, `y`

, `z`

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

## Description

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

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

## Copyright

Copyright © 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.