GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val )
eqn not supported
Typically, the matrix mode is GL_PROJECTION, and (left, bottom, -near_val) and (right, top, -near_val) specify the points on the near clipping plane that are mapped to the lower left and upper right corners of the window, assuming that the eye is located at (0, 0, 0). -far_val specifies the location of the far clipping plane. Both near_val and far_val must be positive.
Use glPushMatrix and glPopMatrix to save and restore the current matrix stack.
roughly $log sub 2 (r)$ bits of depth buffer precision are lost. Because $r$ approaches infinity as near_val approaches 0, near_val must never be set to 0.
GL_INVALID_OPERATION is generated if glFrustum is executed between the execution of glBegin and the corresponding execution of glEnd.