glFrustum
NAME
glFrustum -- multiply the current matrix by a perspective matrix
C SPECIFICATION
void glFrustum(GLdouble left,
GLdouble right,
GLdouble bottom,
GLdouble top,
GLdouble near,
GLdouble far)
PARAMETERS
- left, right
-
Specify the coordinates for the left and right vertical clipping
planes.
- bottom, top
-
Specify the coordinates for the bottom and top horizontal clipping
planes.
- near, far
-
Specify the distances to the near and far depth clipping planes. Both
distances must be positive.
DESCRIPTION
glFrustum describes a perspective matrix that produces a perspective
projection. (left,bottom,-near) and
(right,top,-near) specify the points on the near
clipping plane that are mapped to the lower left and upper right corners of
the window, respectively, assuming that the eye is located at (0, 0, 0).
-far specifies the location of the far clipping plane. Both near
and far must be positive. The corresponding matrix is
The current matrix is multiplied by this matrix with the result replacing the
current matrix. That is, if M is the current matrix and F is the
frustum perspective matrix, then M is replaced with
M*F.
Use glPushMatrix and
glPopMatrix to save and restore the current
matrix stack.
NOTES
Depth buffer precision is affected by the values specified for near and
far. The greater the ratio of far to near is, the less
effective the depth buffer will be at distinguishing between surfaces that are
near each other. If
roughly ld(r) bits of depth buffer precision are lost. Because r
approaches infinity as near approaches zero, near must never be
set to zero.
ERRORS
GL_INVALID_VALUE is generated if either near or far
is not positive.
GL_INVALID_OPERATION is generated if glFrustum is called
between a call to glBegin and the
corresponding call to 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
glOrtho,
glMatrixMode,
glMultMatrix,
glPushMatrix,
glViewport
back to the OpenGL index page
© 1995 Uwe Behrens. All rights reserved.