next up previous contents index
Next: Cell Projection Up: Ray Casting Previous: Cell Traversal   Contents   Index

Sweeping

The major inefficiency with the previously introduced ray casting algorithms is that they do not take advantage of coherency. The viewing rays from two adjoining pixels are likely to intersect many of the same cells in the model. However, the previous ray casting algorithms independently recast every ray, duplicating much of the work.

One way to take advantage of ray coherency is with a sweep algorithm. Sweeping is a general-purpose idea in computational geometry that helps reduce the dimensionality of the problem [17].

Giertsen [32] was the first to apply sweeping to volume rendering unstructured grids. Giertsen placed a sweep plane perpendicular to the view plane at an extreme point of the model. Giertsen then swept the plane through the model. As the sweep plane passed through them model, Giertsen would maintain the set of polygons formed by the intersection of the model and the sweep plane.

The sweep algorithm works because incrementally updating the intersection is much easier than cutting the model by an arbitrary plane. As with all sweep algorithms, the sweep plane in principle moves continuously, but in practice, the sweep algorithm processes the plane only at certain events. In Giertsen's case, the events are the vertices of the model, where the topography of the polygons changes, and the scan lines, where rays are cast through the plane to determine pixel colors. Silva [87,88,89] made several improvements to Giertsen's algorithm. The most notable change is the use of a sweep line to determine the intersections of polygons in the plane with viewing rays.

Yagel and colleagues [111] introduce another sweep plane algorithm. Unlike Giertsen, Yagel uses a sweep plane parallel to the view plane. Yagel then renders the polygons in the sweep plane directly on graphics hardware, making the algorithm, in practice, much faster than Giertsen's. However, Yagel's sweep plane stops only at a predetermined number of locations making it possible (even likely) that the sweep plane completely misses cells. Weiler and Ertl [97] show how to use multitextures to perform both the slicing of the cells in addition to rasterizing the resulting polygon.


next up previous contents index
Next: Cell Projection Up: Ray Casting Previous: Cell Traversal   Contents   Index
Kenneth D Moreland 2004-07-16