Publisher Summary This chapter discusses traversal through binary space-partitioning (BSP) trees. BSP trees are data structures that allow for fast visible-surface determination in environments where the viewer moves while the polygonal objects remain static, as in interactive walkthroughs. One solution to the visible-surface problem is to render a scene's polygons in back-to-front order so that polygons nearer to the viewer overwrite those farther away. However, this simple painter's algorithm offers no consistent means of identifying polygon depth; choosing either the extreme vertices or the centroid as the sorting key fails in certain cases. This algorithm also fails in cases of cyclic overlaps and interpenetrating polygons. The depth sort algorithm solves all of these problems, but in a view-dependent way. This chapter describes the construction of BSP trees and their traversal, which generates polygons in a sorted order suitable for rendering. It also presents an efficient viewer/object collision detection algorithm based upon this versatile data structure.
[1]
Shuhong Chen,et al.
Front-to-back display of BSP trees
,
1991,
IEEE Computer Graphics and Applications.
[2]
Norman Chin.
Partitioning a 3-d Convex Polygon with an Arbitrary plane
,
1992,
Graphics Gems III.
[3]
Steven K. Feiner,et al.
Near real-time shadow generation using BSP trees
,
1989,
SIGGRAPH '89.
[4]
Henry Fuchs,et al.
On visible surface generation by a priori tree structures
,
1980,
SIGGRAPH '80.
[5]
Peter Shirley,et al.
Ray Tracing with the BSP Tree
,
1992,
Graphics Gems III.
[6]
Steven K. Feiner,et al.
Fast object-precision shadow generation for area light sources using BSP trees
,
1992,
I3D '92.
[7]
Bruce F. Naylor,et al.
Set operations on polyhedra using binary space partitioning trees
,
1987,
SIGGRAPH.
[8]
Martin E. Newell,et al.
A solution to the hidden surface problem
,
1972,
ACM Annual Conference.
[9]
Henry Fuchs,et al.
Near real-time shaded display of rigid objects
,
1983,
SIGGRAPH.