Table of Contents
gluPerspective - set up a perspective projection matrix
void
gluPerspective( GLdouble fovy,
GLdouble aspect,
GLdouble zNear,
GLdouble zFar )
eqn not supported
- fovy
- Specifies the field of view angle, in
degrees, in the y direction.
- aspect
- Specifies the aspect ratio that determines
the field of view in the x direction. The aspect ratio is the ratio of x
(width) to y (height).
- zNear
- Specifies the distance from the viewer to the
near clipping plane (always positive).
- zFar
- Specifies the distance from
the viewer to the far clipping plane (always positive).
gluPerspective
specifies a viewing frustum into the world coordinate system. In general,
the aspect ratio in gluPerspective should match the aspect ratio of the
associated viewport. For example, $ "aspect" ~=~ 2.0 $ means the viewer's
angle of view is twice as wide in x as it is in y. If the viewport is twice
as wide as it is tall, it displays the image without distortion.
The matrix
generated by gluPerspective is multiplied by the current matrix, just as
if glMultMatrix were called with the generated matrix. To load the perspective
matrix onto the current matrix stack instead, precede the call to gluPerspective
with a call to glLoadIdentity.
Given f defined as follows:
eqn not supported
The generated matrix is
eqn not supported
Depth buffer precision
is affected by the values specified for zNear and zFar. The greater the
ratio of zFar to zNear is, the less effective the depth buffer will be
at distinguishing between surfaces that are near each other. If
$r ~=~
"zFar" over "zNear"$
roughly $log sub 2 r$ bits of depth buffer precision
are lost. Because $r$ approaches infinity as zNear approaches 0, zNear must
never be set to 0.
glFrustum(3G)
, glLoadIdentity(3G)
, glMultMatrix(3G)
,
gluOrtho2D(3G)
Table of Contents