table of contents
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
x, y, z
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
SEE ALSO¶
glMatrixMode(), glMultMatrix(), glPushMatrix(), glScale(), glTranslate()
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/.
AUTHORS¶
opengl.org
04/12/2021 | opengl.org |