glScale.3gl




Name

  glScaled, glScalef - multiply	the current matrix by a	general	scaling
  matrix


C Specification

  void glScaled( GLdouble x,
		 GLdouble y,
		 GLdouble z )
  void glScalef( GLfloat x,
		 GLfloat y,
		 GLfloat z )


Parameters


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

Description

  glScale 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 is

			      |	 x   0	 0   0	|
			      |			|
			      |	 0   y	 0   0	|
			      |			|
			      |	 0   0	 z   0	|
			      |			|
			      |	 0   0	 0   1	|

  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 glScale is called	are scaled.  Use glPushMatrix and glPopMatrix
  to save and restore the unscaled coordinate system.

Notes

  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).

Errors

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

Associated Gets

  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

  glMatrixMode,	glMultMatrix, glPushMatrix, glRotate, glTranslate



Introduction | Alphabetic | Specification

Last Edited: Tue, May 23, 1995

AFV