Definition: |
include pGUI.e
include opengl.e glScale(atom {x,y,z}) (actually declared as a single sequence scale parameter) |
Description: |
The glScale function multiplies the current matrix by a general scaling matrix.
x: Scale factors along the x axis. y: Scale factors along the y axis. z: Scale factors along the z axis. The routine will fail if called between glBegin and glEnd, and glGetError will return GL_INVALID_OPERATION. The glScaled and glScalef functions are effectively simple aliases of glScale. |
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. ![]() 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 |
See Also: |
glBegin,
glEnd,
glMatrixMode,
glPopMatrix,
glPushMatrix
DEV See also //glBegin //glEnd //glMatrixMode glMultMatrix //glPopMatrix //glPushMatrix glRotate glTranslate |