# glrotate(3g) [centos man page]

```GLROTATE(3G)							   OpenGL Manual						      GLROTATE(3G)

NAME
glRotate - 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 produces a rotation of angle degrees around the vector x y z. The current matrix (see glMatrixMode()) is multiplied by a rotation
matrix with the product replacing the current matrix, as if glMultMatrix() were called with the following matrix as its argument:

x 2  1 - c + c x  y  1 - c - z  s x  z  1 - c + y  s 0 y  x  1 - c + z  s y 2  1 - c + c y  z  1 - c - x  s 0 x	z  1 - c - y  s y  z  1 -
c + x  s z 2  1 - c + c 0 0 0 0 1

Where c = cos  angle, s = sin  angle, and x y z = 1 (if not, the GL will normalize this vector).

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.

NOTES
This rotation follows the right-hand rule, so if the vector x y z points toward the user, the rotation will be counterclockwise.

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

glMatrixMode(), glMultMatrix(), glPushMatrix(), glScale(), glTranslate()

http://oss.sgi.com/projects/FreeB/.

AUTHORS
opengl.org

opengl.org							    06/10/2014							      GLROTATE(3G)```

## Check Out this Related Man Page

```GLSCALE(3G)							   OpenGL Manual						       GLSCALE(3G)

NAME
glScale - multiply the current matrix by a general scaling matrix

C SPECIFICATION
void glScaled(GLdouble x, GLdouble y, GLdouble z);

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

PARAMETERS
x, y, z
Specify scale factors along the x, y, and z axes, respectively.

DESCRIPTION
glScale produces a nonuniform scaling along the x, y, and z axes. The three parameters indicate the desired scale factor along each of the
three axes.

The current matrix (see glMatrixMode()) is multiplied by this scale matrix, and the product replaces the current matrix as if
glMultMatrix() were called with the following matrix as its argument:

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

If the matrix mode is either GL_MODELVIEW or GL_PROJECTION, all objects drawn after glScale is called are scaled.

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

NOTES
If scale factors other than 1 are applied to the modelview matrix and lighting is enabled, lighting often appears wrong. In that case,
enable automatic normalization of normals by calling glEnable() with the argument GL_NORMALIZE.

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