435
10.1.4.3. The View Volume and the Frustum
The region of space that the camera can “see” is known as the view volume. A
view volume is defi ned by six planes. The near plane corresponds to the virtual
image-sensing surface. The four side planes correspond to the edges of the
virtual screen. The far plane is used as a rendering optimization to ensure that
extremely distant objects are not drawn. It also provides an upper limit for the
depths that will be stored in the depth buff er (see Section 10.1.4.8).
When rendering the scene with a perspective projection, the shape of the
view volume is a truncated pyramid known as a frustum. When using an or-
thographic projection, the view volume is a rectangular prism. Perspective
and orthographic view volumes are illustrated in Figure 10.32 and Figure
10.33, respectively.
The six planes of the view volume can be represented compactly using six
four-element vectors (nxi , nyi , nzi , di), where n = (nx , ny , nz) is the plane normal
and d is its perpendicular distance from the origin. If we prefer the point-
normal plane representation, we can also describe the planes with six pairs of
vectors (Qi, ni), where Q is the arbitrary point on the plane and n is the plane
normal. (In both cases, i is the index of the plane.)
Figure 10.31. A cube rendered using a perspective projection (on the left) and an ortho-
graphic projection (on the right).
Far
yV Plane
PlaneNear
zV xV
(r, b, n)
(r, b, f)
(r, t, f)
(l, t, f)
(l, b, n)
(l, t, n)
(l, b, f)
(r, t, n)
Figure 10.32. A perspective view volume (frustum).
10.1. Foundations of Depth-Buffered Triangle Rasterization