III. VOLUME RENDERERS FOR CURVILINEAR GRIDS





To display 3D data, both rectilinear and irregular 3D data, researchers have developed various algorithms. One set of these, surface and line renderers, is able (partially) to display the data interactively. Current techniques capable of interactive speeds include those such as surface-based rendering, iso-surface rendering, and contour plotting [Eb]. Although efficient, these techniques do not display all the data available. That is, they do not render the entire volume of 3D data [Yag].

Conversely, there is direct volume rendering, which renders the entire 3D volume of data. This approach is capable of more complete and accurate visualizations, at the price of time. There are two approaches to direct volume rendering of irregular data: direct volume rendering of the curvilinear data, and resampling followed by traditional volume rendering. Resampling, a conversion process from curvilinear data to rectilinear data, is discussed in the next sub-section.


Direct Volume Rendering

Splatting is one method for directly rendering curvilinear data. A splatting algorithm [Shir] [Will] considers each data point as a source of energy, and then projects its energy support kernel onto the screen [Mao]. Recently, a splatting algorithm for curvilinear data [Mao] has been presented, which includes an initial resampling stage. As the authors themselves state, this new algorithm is efficient, but does not produce high-quality images. Also, the technique suffers errors in resampling and overlapping splat kernels.

A different approach to direct volume rendering (of curvilinear data) is ray-casting (ray-tracing). In this method, a ray cast from each pixel intersects the (irregular) volume data, with a mapping function to determine the final color of the pixel [Gar]. Ray-casting algorithms are well-known for the high-quality images that they produce. However, this type of algorithm is also one of the slowest [Mao] [Yag]. Besides being slow, a ray-casting algorithm may take large amounts of memory [Gar]. Lastly, ray-casting algorithms also suffer from aliasing errors, and generally are difficult to implement [Yag].


Resampling

A resampling algorithm solves the problem of rendering irregular data with a preprocessing stage. The curvilinear data is interpolated into a rectilinear grid, then the renderer of choice renders the resampled data (voxels). Methods of interpolation are nearest neighbor, trilinear, and inverse distance weighting [Wilh]. Each is distinguished by the method used to determine which curvilinear data points affect the rectilinear points. Nearest neighbor uses the closest irregular point; trilinear uses the eight points defining the irregular cell (see Section IV) containing the resampled point; and inverse-distance weighting, depending on system parameters, uses many nearby points (with closer points contributing more heavily than points farther away).







Last modified January 3, 1996 by helfrick@cs.umbc.edu