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 glMultMatrix were called with the following matrix as its argument:
⎛𝐱ㅤㅤ0ㅤㅤ0ㅤㅤ0⎞
⎜0ㅤㅤ𝐲ㅤㅤ0ㅤㅤ0 ⎜
⎜0ㅤㅤ0ㅤㅤ𝐳ㅤㅤ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.
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 glMultMatrix were called with the following matrix as its argument:
⎛𝐱ㅤㅤ0ㅤㅤ0ㅤㅤ0⎞
⎜0ㅤㅤ𝐲ㅤㅤ0ㅤㅤ0 ⎜
⎜0ㅤㅤ0ㅤㅤ𝐳ㅤㅤ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.