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:
.ce
.EQ
left ( ~ down 20 matrix {
ccol { ~"x" above ~0 above ~0 above ~0 }
ccol { ~0 above ~"y" above ~0 above ~0 }
ccol { ~0 above ~0 above ~"z" above ~0 }
ccol { ~0 above ~0 above ~0 above ~1}
} ~~ right )
.EN
.sp
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.