Frustum

The Frustum function multiplies the current matrix by a perspective matrix.

Frustum( left, right, bottom, top, znear, zfar);

Arguments 

left, right

The coordinates for the left and right vertical clipping planes.

bottom, top

The coordinates for the bottom and top horizontal clipping planes.

znear, zfar

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

Remarks

The Frustum function describes a perspective matrix that produces a perspective projection. The (left, bottom, znear) and (right, top, znear) parameters 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). The zfar parameter specifies the location of the far clipping plane. Both znear and zfar must be positive. The corresponding matrix is:

The Frustum function multiplies the current matrix 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 Frustum replaces M with M · F.

Use PushMatrix and PopMatrix to save and restore the current matrix stack.

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

roughly log (2) r bits of depth buffer precision are lost. Because r approaches infinity as znear approaches zero, you should never set znear to zero.

Note:  Do not call Frustum between a call to Begin and the corresponding call to End.

See Also

Begin

End

MatrixMode

Ortho

PopMatrix

PushMatrix

Viewport