MirBSD manpage: gluPerspective(3)


GLUPERSPECTIVE(3G)  UNIX Programmer's Manual   GLUPERSPECTIVE(3G)

NAME

     gluPerspective - set up a perspective projection matrix

C SPECIFICATION

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

PARAMETERS

     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).

DESCRIPTION

     gluPerspective specifies a viewing frustum into the world
     coordinate system. In general, the aspect ratio in
     gluPerspective should match the aspect ratio of the associ-
     ated 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:
                                       _o__y_)
                         f = cotangent( 2

MirBSD #10-current     Printed 2021-12-07                       1

GLUPERSPECTIVE(3G)  UNIX Programmer's Manual   GLUPERSPECTIVE(3G)

     The generated matrix is

              |
              |
              |  ______
              |  aspect
              |    0     0
              |          f      0                      |
              |    0            0            0         |
              |    0     0                   0         |
                         0  _F__r_±_N__a__                 |
                            zNear-zFar  _*__F__r__z__e__r_   |
                                -1       zNear-zFar    |
                                             0         |
                                                       |

NOTES

     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 distin-
     guishing between surfaces that are near each other. If
                                  __F__r_
                              r = zNear

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

SEE ALSO

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

MirBSD #10-current     Printed 2021-12-07                       2

Generated on 2021-12-07 11:28:18 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.