glRotate(3G)glRotate(3G)NAME
glRotate, glRotated, glRotatef - multiply the current matrix by a rota‐
tion matrix
SYNOPSIS
void glRotated(
GLdouble angle,
GLdouble x,
GLdouble y,
GLdouble z ); void glRotatef(
GLfloat angle,
GLfloat x,
GLfloat y,
GLfloat z );
PARAMETERS
Specifies the angle of rotation, in degrees. Specify the x, y, and z
coordinates of a vector, respectively.
DESCRIPTIONglRotate() produces a rotation of angle degrees around the vector (x,
y, z). The current matrix (see glMatrixMode()) is multiplied by a rota‐
tion 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 xy(1-c) - zs xz(1-c) + ys 0 yx(1-c) + zs y^2(1-c) +
c yz(1-c) - xs 0 xz(1-c) - ys yz(1-c) + xs 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 GETSglGet() 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 ALSOglMultMatrix(3), glMatrixMode(3), glPushMatrix(3), glScale(3), glTrans‐
late(3)glRotate(3G)