**glRotate**

### NAME

**glRotated**, **glRotatef** -- multiply the current matrix
by a rotation matrix
### C SPECIFICATION

void **glRotated**(GLdouble *angle*,
GLdouble *x*,
GLdouble *y*,
GLdouble *z*)
void **glRotatef**(GLfloat *angle*,
GLfloat *x*,
GLfloat *y*,
GLfloat *z*)

### PARAMETERS

*angle*-
Specifies the angle of rotation, in degrees.

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

### DESCRIPTION

**glRotate** computes a matrix that performs a counterclockwise
rotation of *angle* degrees about the vector from the origin through
the point (*x*, *y*, *z*).
The current matrix (see
**glMatrixMode**)
is multiplied by this rotation matrix, with the product replacing the
current matrix. That is, if M is the current matrix and R is the
rotation matrix, then M is replaced with M * R.

If the matrix mode is either **GL_MODELVIEW** or **GL_PROJECTION**,
all objects drawn after **glRotate** is called are rotated. Use
**glPushMatrix** and
**glPopMatrix**
to save and restore the unrotated coordinate system.

### ERRORS

**GL_INVALID_OPERATION** is generated if **glRotate** is called between
a call to **glBegin** and the corresponding
call to **glEnd**.
### ASSOCIATED GETS

**glGet** with argument
**GL_MATRIX_MODE**

**glGet** with argument
**GL_MODELVIEW_MATRIX**

**glGet** with argument
**GL_PROJECTION_MATRIX**

**glGet** with argument
**GL_TEXTURE_MATRIX**

### SEE ALSO

**glMatrixMode**,
**glMultMatrix**,
**glPushMatrix**,
**glScale**,
**glTranslate**

back to the **OpenGL index page**

© *1995 Uwe Behrens. All rights reserved.*