Edit

Share via


glScalef function

The glScaled and glScalef functions multiply the current matrix by a general scaling matrix.

Syntax

void WINAPI glScalef(
   GLfloat x,
   GLfloat y,
   GLfloat z
);

Parameters

x

Scale factors along the x axis.

y

Scale factors along the y axis.

z

Scale factors along the z axis.

Return value

This function does not return a value.

Error codes

The following error code can be retrieved by the glGetError function.

Name Meaning
GL_INVALID_OPERATION
The function was called between a call to glBegin and the corresponding call to glEnd.

Remarks

The glScalef function produces a general scaling along the x, y, and z axes. The three arguments indicate the desired scale factors along each of the three axes. The resulting matrix appears in the following image.

Diagram showing the matrix of scale factors along the x, y, and z axes.

The current matrix (see glMatrixMode) is multiplied by this scale matrix, with the product replacing the current matrix. That is, if M is the current matrix and S is the scale matrix, then M is replaced with M S.

If the matrix mode is either GL_MODELVIEW or GL_PROJECTION, all objects drawn after glScalef is called are scaled. Use glPushMatrix and glPopMatrix to save and restore the unscaled coordinate system.

If scale factors other than 1.0 are applied to the modelview matrix and lighting is enabled, automatic normalization of normals should probably also be enabled (glEnable and glDisable with argument GL_NORMALIZE).

The following functions retrieve information related to glScalef:

glGet with argument GL_MATRIX_MODE

glGet with argument GL_MODELVIEW_MATRIX

glGet with argument GL_PROJECTION_MATRIX

glGet with argument GL_TEXTURE_MATRIX

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Header
Gl.h
Library
Opengl32.lib
DLL
Opengl32.dll

See also

glBegin

glEnd

glMatrixMode

glMultMatrix

glPopMatrix

glPushMatrix

glRotated

glRotatef

glTranslate