manpagez: man pages & more
man gluPerspective(3)
Home | html | info | man
gluPerspective(3)                                          gluPerspective(3)


       gluPerspective - set up a perspective projection matrix


       void gluPerspective( GLdouble fovy,
                            GLdouble aspect,
                            GLdouble zNear,
                            GLdouble zFar )


       fovy    Specifies  the field of view angle, in degrees, in the y direc-

       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 multipled 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:

                               f  = cotangent(fovy/2)

       The generated matrix is
        ------------       0              0              0

            0              f              0              0

                                      zFar+zNear    2*zFar*zNear
            0              0          ----------    ------------
                                      zNear-zFar     zNear-zFar

            0              0              -1             0


       Depth buffer precision is affected by the values  specified  for  zNear
       and  zFar.   The greater the ratio of zFar to zNear is, the less effec-
       tive the depth buffer will be at distinguishing between  surfaces  that
       are near each other.  If

                                   r = zFar/zNear

       roughly  log2(r)  bits  of  depth buffer precision are lost.  Because r
       approaches infinity as zNear approaches 0, zNear must never be  set  to


       glFrustum(3), glLoadIdentity(3), glMultMatrix(3), gluOrtho2D(3)


Mac OS X 10.6 - Generated Thu Sep 17 20:20:35 CDT 2009
© 2000-2024
Individual documents may contain additional copyright information.