Name
gl.Scale -- multiply the current matrix by a general scaling matrix
Synopsis
gl.Scale(x, y, z)
Function
gl.Scale() 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 gl.MatrixMode for details.) is multiplied by this scale matrix, and the product replaces the current matrix as if gl.MultMatrix() 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 gl.Scale() is called are scaled.

Use gl.PushMatrix() and gl.PopMatrix() to save and restore the unscaled coordinate system.

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 gl.Enable() with the argument #GL_NORMALIZE.

Please consult an OpenGL reference manual for more information.

Inputs
x
specify scale factor along the x axis
y
specify scale factor along the y axis
z
specify scale factor along the z axis
Errors
#GL_INVALID_OPERATION is generated if gl.Scale() is executed between the execution of gl.Begin() and the corresponding execution of gl.End().

Associated gets
gl.Get() with argument #GL_MATRIX_MODE

gl.Get() with argument #GL_MODELVIEW_MATRIX

gl.Get() with argument #GL_PROJECTION_MATRIX

gl.Get() with argument #GL_TEXTURE_MATRIX


Show TOC