OpenGL Transformations

Scaling

glScalef(GLfloat x, GLfloat y, GLfloat z)

Scales objects by the factor x in the X direction, y in the Y direction, and z in the Z direction.

In 2D, pass 1 for z.



A uniform scale - changing the size of an object without distorting it - is done with x = y = z.




As with rotation, scaling is relative to the origin.
If an object is not centered around the origin, it will appear to move toward or away from the origin.

glBegin(GL_TRIANGLES)
glVertex2f(0.5, 0.0)
glVertex2f(0.8, 0.0)
glVertex2f(0.65, 0.5)   
glEnd()
   
glScalef(0.25, 0.5, 1.0)
glBegin(GL_TRIANGLES)
glVertex2f(0.5, 0.0)
glVertex2f(0.8, 0.0)
glVertex2f(0.65, 0.5)
glEnd()


next