glScale

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

Sorry -- no text version available

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 glPopMatrix 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 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, glRotate, glTranslate


back to the OpenGL index page


© 1995 Uwe Behrens. All rights reserved.