Frustum

From DmWiki

A frustum (make note that there is no 'r' after the 't' - many people assume "frustrum") is simply the volume of space that a camera can see. A frustum is most commonly used for determining if an object is visible or not. Most objects have a bounding volume, and an object is only processed if its bounding volume is within the frustum (and thus can be seen by the camera).

A frustum is a 6 sided pyramid - that is the top is not pointy, it's flat. The top of the pyramid is usually the location of the camera; you can extract the frustum from the view matrix, or calculate it directly from the camera location, direction, and field of view.

Each side of the frustum is a plane in 3D space. One side of each plane is defined to be the "inside" of that plane, and the other side is the "outside" (typically, the side to which the normal points is "outside"). If the frustum planes are defined with outward-facing normals, than an object is within the frustum, and thus visible, if its bounding volume is inside (at least partially inside) all the planes. If it falls entirely on the outside of one or more planes, it is outside the viewing frustum and may be culled (this is called frustum culling).

See this document on how to extract a frustum from a view matrix: http://www2.ravensoft.com/users/ggribb/plane%20extraction.pdf

See also perspective transformation


DevMaster navigation