Graphics Reference
In-Depth Information
Chapter 36
Visibility Determination
36.1 Introduction
Determining the visible parts of surfaces is a fundamental graphics problem. It
arises naturally in rendering because rendering objects that are unseen is both
inefficient and incorrect. This problem is called either visible surface determi-
nation or hidden surface removal, depending on the direction from which it is
approached.
The two distinct goals for visibility are algorithm correctness and efficiency.
A visibility algorithm responsible for the correctness of rendering must exactly
determine whether an unobstructed line of sight exists between two points, or
equivalently, the set of all points to which one point has an unobstructed line of
sight. The most intuitive application is primary visibility: Solve visibility exactly
for the camera. Doing so will only allow the parts of the scene that are actu-
ally visible to color the image so that the correct result is produced. Ray casting
and the depth buffer are by far the most popular methods for ensuring correct
visibility today.
A conservative visibility algorithm is designed for efficiency. It will distin-
guish the parts of the scene that are likely visible from those that are definitely not
visible, with respect to a point. Conservatively eliminating the nonvisible parts
reduces the number of exact visibility tests required but does not guarantee cor-
rectness by itself. When a conservative result can be obtained much more quickly
than an exact one, this speeds rendering if the conservative algorithm is used to
prune the set that will be considered for exact visibility. For example, it is more
efficient to identify that the sphere bounding a triangle mesh is behind the camera,
and therefore invisible to the camera, than it is to test each triangle in the mesh
individually.
Backface culling and frustum culling are two simple and effective methods
for conservative visibility testing; occlusion culling is a more complex refinement
of frustum culling that takes occlusion between objects in the scene into account.
Sophisticated spatial data structures have been developed to decrease the cost of
conservative visibility testing. Some of these, such as the Binary Space Partition
1023
 
 
 
 
Search WWH ::




Custom Search