Index Index for
Section 3G
Index Alphabetical
listing for G
Bottom of page Bottom of
page

glScale(3G)

NAME

glScale, glScaled, glScalef - multiply the current matrix by a general scaling matrix

SYNOPSIS

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 glScale() 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

SEE ALSO

glMatrixMode(3), glMultMatrix(3), glPushMatrix(3), glRotate(3), glTranslate(3)

Index Index for
Section 3G
Index Alphabetical
listing for G
Top of page Top of
page