#### Name

### frustum()

#### Description

Sets a perspective matrix as defined by the parameters.

A frustum is a geometric form: a pyramid with its top cut off. With the
viewer's eye at the imaginary top of the pyramid, the six planes of the
frustum act as clipping planes when rendering a 3D view. Thus, any form
inside the clipping planes is rendered and visible; anything outside those
planes is not visible.

Setting the frustum has the effect of changing the *perspective* with
which the scene is rendered. This can be achieved more simply in many cases
by using **perspective()**.

Note that the near value must be greater than zero (as the point of the
frustum "pyramid" cannot converge "behind" the viewer). Similarly, the far
value must be greater than the near value (as the "far" plane of the frustum
must be "farther away" from the viewer than the near plane).

Works like glFrustum, except it wipes out the current perspective matrix
rather than multiplying itself with it.

#### Examples

`size(400, 400, P3D); noFill(); background(204); frustum(-40, 0, 0, 40, 40, 800); rotateY(PI/6); box(180);`

#### Syntax

`frustum(left, right, bottom, top, near, far)`

#### Parameters

`left`

`(float)`

left coordinate of the clipping plane`right`

`(float)`

right coordinate of the clipping plane`bottom`

`(float)`

bottom coordinate of the clipping plane`top`

`(float)`

top coordinate of the clipping plane`near`

`(float)`

near component of the clipping plane; must be greater than zero`far`

`(float)`

far component of the clipping plane; must be greater than the near value

#### Return

`void`

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.