glScale — multiply the current matrix by a general scaling matrix

`void ` | GLfloat x, |

GLfloat y, | |

GLfloat z`)` ; |

`void ` | GLfixed x, |

GLfixed y, | |

GLfixed z`)` ; |

`glScale`

produces a nonuniform scaling along the
* x*,

`y`

`z`

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:

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.

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`

.

glGet with argument `GL_MATRIX_MODE`

glGet with argument `GL_MODELVIEW_MATRIX`

glGet with argument `GL_PROJECTION_MATRIX`

glGet with argument `GL_TEXTURE_MATRIX`

Copyright © 2003-2004 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see https://khronos.org/registry/OpenGL-Refpages/LICENSES/LicenseRef-FreeB.txt.