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