glfrustum - Man Page






glFrustum(3G)		       OpenGL Reference			 glFrustum(3G)



NAME
     glFrustum - multiply the current matrix by	a perspective matrix


C SPECIFICATION
     void glFrustum( GLdouble left,
		     GLdouble right,
		     GLdouble bottom,
		     GLdouble top,
		     GLdouble near,
		     GLdouble far )


PARAMETERS
     left, right Specify the coordinates for the left and right	vertical
		 clipping planes.

     bottom, top Specify the coordinates for the bottom	and top	horizontal
		 clipping planes.

     near, far	 Specify the distances to the near and far depth clipping
		 planes.  Both distances must be positive.


DESCRIPTION
     glFrustum describes a perspective matrix that produces a perspective
     projection.  (left, bottom, -near)	and (right, top,  -near) specify the
     points on the near	clipping plane that are	mapped to the lower left and
     upper right corners of the	window,	respectively, assuming that the	eye is
     located at	(0, 0, 0).  -far specifies the location	of the far clipping
     plane.  Both near and far must be positive.  The corresponding matrix is
		     (					     )
		     |					     |
		     |	__________			     |
		     |	right-left	 0	 A	 0   |
		     |					     |
		     |	    0	    __________	 B	 0   |
		     |		    top-bottom		     |
		     |	    0		 0	 C	 D   |
		     |					     |
		     (	    0		 0	 -1	 0   )

				  A = __________
				      right-left
				  B = __________
				      top-bottom
				   C = -________
					far-near
				  D = -__________
					far-near





									Page 1






glFrustum(3G)		       OpenGL Reference			 glFrustum(3G)



     The current matrix	is multiplied by this matrix with the result replacing
     the current matrix.  That is, if M	is the current matrix and F is the
     frustum perspective matrix, then M	is replaced with M o F.

     Use glPushMatrix and glPopMatrix to save and restore the current matrix
     stack.

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

				     r = ____
					 near
     roughly log r bits	of depth buffer	precision are lost.  Because r
     approaches	infinity as near approaches zero, near must never be set to
     zero.

ERRORS
     GL_INVALID_VALUE is generated if near or far is not positive.

     GL_INVALID_OPERATION is generated if glFrustum is executed	between	the
     execution of glBegin and the corresponding	execution of glEnd.

ASSOCIATED GETS
     glGet with	argument GL_MATRIX_MODE
     glGet with	argument GL_MODELVIEW_MATRIX
     glGet with	argument GL_PROJECTION_MATRIX
     glGet with	argument GL_TEXTURE_MATRIX


SEE ALSO
     glOrtho, glMatrixMode, glMultMatrix, glPushMatrix,	glViewport





















									Page 2