Method GL.glScale()


Method glScale

void glScale(float|int|array(float|int) x, float|int|void y, float|int|void z)

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 glMultMatrix were called with the following matrix as its argument:

(

x000
0y00
00z0
0001
)

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.

Parameter x
Parameter y
Parameter z

Specify scale factors along the x, y, and z axes, respectively.

Throws

GL_INVALID_OPERATION is generated if glScale is executed between the execution of glBegin and the corresponding execution of glEnd.

Note

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.

See also

glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glTranslate