Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
GLUPERSPECTIVE()						GLUPERSPECTIVE()

NAME
     gluPerspective - set up a perspective projection matrix

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

     delim $$

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  sys-
     tem.   In	general, the aspect ratio in gluPerspective should match the as-
     pect 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" over 2}")"

     The generated matrix is

			    left ( ~~ down 130 { matrix {
	ccol { {f over "aspect"} above 0 above 0 above 0 }
	ccol { 0 above f above 0 above 0 }
	ccol  {  0  above  0  above {{"zFar" + "zNear"} over {"zNear" - "zFar"}}
     above -1 }
	ccol { 0 above 0 above {{2 * "zFar" * "zNear"} over {"zNear" -	"zFar"}}
     above 0} }}  ~~~ right )

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

SEE ALSO
     glFrustum, glLoadIdentity, glMultMatrix, gluOrtho2D

								GLUPERSPECTIVE()

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gluPerspective&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help