[ Previous | Next | Contents | Glossary | Home | Search ]
GL3.2 for AIX: Graphics Library (GL) Technical Reference

scale Subroutine

Purpose

Scales and mirrors drawing primitives.

Libraries

Graphics Library

C (libgl.a)

FORTRAN (libfgl.a)

C Syntax

void scale(Float32 x, Float32 y, Float32 z)

FORTRAN Syntax

SUBROUTINE SCALE(x, y, z)
REAL x, y, z

Description

The scale subroutine shrinks, expands, and mirrors drawing primitives. Values with a magnitude greater than 1 expand the drawing primitive; values with a magnitude less than 1 shrink it. Negative values mirror the primitive. Mirroring will left-right reverse, up-down reverse, or front-back reverse a drawing primitive, depending on which of the three directions is given a negative value.

The scale subroutine is a modeling routine; it changes the current transformation matrix. All drawing primitives drawn after the scale subroutine executes are affected.

Use the pushmatrix and popmatrix subroutines to limit the scope of the scale subroutine.

If lighting is on, and the scale subroutine is called with unequal arguments, the lighting pipeline is forced to renormalize every normal automatically. This may degrade performance on some adapters.

Parameters

x Specifies scaling of the drawing primitive in the x direction.
y Specifies scaling of the drawing primitive in the y direction.
z Specifies scaling of the drawing primitive in the z direction.

Example

The example C language program cylinder2.c draws one cylinder, then uses the scale subroutine before drawing a second, differently sized cylinder.

Implementation Specifics

This subroutine is part of GL in the AIXwindows Environment/6000 Version 1, Release 2 with AIXwindows/3D Feature.

Files

/usr/include/gl/gl.h Contains C language constant and variable type definitions for GL.
/usr/include/gl/fgl.h Contains FORTRAN constant and variable type definitions for GL.

Related Information

Popping the transformation matrix stack with the popmatrix subroutine.

Pushing down the transformation matrix stack with the pushmatrix subroutine.

Rotating a graphical primitive (floating-point version) with the rot subroutine.

Rotating a graphical primitive (fixed-point version) with the rotate subroutine.

Translating a graphical primitive with the translate subroutine.

AIX Graphics Library Overview and Working with Coordinate Systems.


[ Previous | Next | Contents | Glossary | Home | Search ]