A frustrum is a truncated pyramid
, one whose top has been cut off by a plane
parallel to its base. This concept is often used in 3D graphics
programming to describe the viewing volume for perspective projection
. Perspective projection is characterized by foreshortening; that is the further an object is from the observer (or camera
), the smaller it appears in the final image. Objects that fall within the viewing volume are projected towards the apex of the pyramid, which is the location of the observer. The viewing plane is the top of the frustrum, and the base of the frustrum is the furthest visible plane. All objects visible within the scene are within the frustrum. Objects closest to the viewpoint appear larger because they occupy a larger amount of the volume than those further away. Objects that overlap the boundaries of the frustrum are clipped
, and only the parts that fall within the frustrum are rendered. A frustrum is defined by a pair of (x, y, z) coordinates for the front lower left and rear upper right corners, with distance from the observer on the z-axis
A frustrum need not be symmetrical, nor aligned with the z-axis. This can be used to create false perspective.