*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> OpenGL/glfrustum (3)              
Title
Content
Arch
Section
 

Contents


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


NAME    [Toc]    [Back]

     glFrustum - multiply the current matrix by	a perspective matrix

C SPECIFICATION    [Toc]    [Back]

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

PARAMETERS    [Toc]    [Back]

     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    [Toc]    [Back]

     glFrustum describes a perspective matrix that produces a perspective
     projection.  The current matrix (see glMatrixMode)	is multiplied by this
     matrix and	the result replaces the	current	matrix,	as if glMultMatrix
     were called with the following matrix as its argument:





		  |					       |

		  |					       |

		  |					       |

		  |   ____________			       |
					  0	   A	   0
		  |   right - left			       |

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


     Typically,	the matrix mode	is GL_PROJECTION, and (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,



									Page 1






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



     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.

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

NOTES    [Toc]    [Back]

     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
		2
     approaches	infinity as near approaches 0, near must never be set to 0.

ERRORS    [Toc]    [Back]

     GL_INVALID_VALUE is generated if near or far is not positive, or if left
     = right, or bottom	= top.

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

ASSOCIATED GETS    [Toc]    [Back]

     glGet with	argument GL_MATRIX_MODE
     glGet with	argument GL_MODELVIEW_MATRIX
     glGet with	argument GL_PROJECTION_MATRIX
     glGet with	argument GL_TEXTURE_MATRIX
     glGet with	argument GL_COLOR_MATRIX

SEE ALSO    [Toc]    [Back]

      
      
     glOrtho, glMatrixMode, glMultMatrix, glPushMatrix,	glViewport


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
glScalef Tru64 multiply the current matrix by a general scaling matrix
glscale IRIX multiply the current matrix by a general scaling matrix
glScale Tru64 multiply the current matrix by a general scaling matrix
glScaled Tru64 multiply the current matrix by a general scaling matrix
glOrtho Tru64 multiply the current matrix with an orthographic matrix
glRotatef Tru64 multiply the current matrix by a rotation matrix
glRotate Tru64 multiply the current matrix by a rotation matrix
glrotate IRIX multiply the current matrix by a rotation matrix
glTranslated Tru64 multiply the current matrix by a translation matrix
glRotated Tru64 multiply the current matrix by a rotation matrix
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service