GLSCALE(3gl)GLSCALE(3gl)NAME
glScaled, glScalef - 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 general scaling along the x, y, and z axes. The
three arguments indicate the desired scale factors along each of the
three axes. The resulting matrix is
x 0 0 0
0 y 0 0
⎝ ⎠
0 0 z 0
0 0 0 1
The current matrix (see glMatrixMode) is multiplied by this scale
matrix, with the product replacing the current matrix. That is, if M
is the current matrix and S is the scale matrix, then M is replaced
with M · S.
If the matrix mode is either GL_MODELVIEW or GL_PROJECTION, all objects
drawn after glScale is called are scaled. Use glPushMatrix and glPop‐
Matrix to save and restore the unscaled coordinate system.
NOTES
If scale factors other than 1.0 are applied to the modelview matrix and
lighting is enabled, automatic normalization of normals should probably
also be enabled (glEnable and glDisable with 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_MODELVIEW_MATRIX
glGet with argument GL_PROJECTION_MATRIX
glGet with argument GL_TEXTURE_MATRIX
SEE ALSO
glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glTranslate
15 Mar 97 GLSCALE(3gl)