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

FreeBSD Manual Pages

  
 
  

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

       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 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 ma-
       trix, 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	effec-
       tive 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()

NAME | C SPECIFICATION | PARAMETERS | DESCRIPTION | NOTES | SEE ALSO

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

home | help