Volume rendering is a visualizatin technique for rendering entire 3-D volumes without extracting subsets of their geometry. The benefit is that no data is removed, but it has several complications in the details.
While the exact implementation details differ per algorithm, there are a few basics to all volume rendering algorithms.
The basic theory is that by directly mapping a color and opacity value directly to each data point and rendering the entire volume, certain structures that are lost in an isosurface or thresholding process are suddenly visible. Things that would have been removed in a thresholding operation are now visible, albeit very "blurry" because of the low opacity value, which creates the illusion of much smoother surfaces. Small internal details that may have been lost in an isosurface algorithm are now visible because interior surfaces can "shine through" bounding surfaces.
There are several different algorithms for volume rendering. Some of the most common are:
- Projected Tetrahedra - A fast algorithm capable of using modern graphics hardware, but typically has artifacts.
- Ray-Casting - Similar to ray-tracing, where rays are cast into the volume to determine intersection.
- Z-Sweep - A highly accurate method of rendering that offers many advantages for certain date set types.
- Hardware Assisted Visibility Sort (HAVS) - Another hardware accelerated algorithm.