Object-Order Volume Rendering

In contrast to image-order techniques, object-order methods determine, for each data sample, how it affects the pixels on the image plane. In its simplest form, an object-order algorithm loops through the data samples, projecting each sample onto the image plane. Splatting [56] is a technique that traverses and projects footprints (known as splats) onto the image plane, (see Figure 2.2). Voxels that have zero opacity, and thus do not contribute to the image, can be skipped. This is one of the greatest advantages of splatting, as it can tremendously reduce the amount of data that has to be processed. But there are also disadvantages: Using pre-integrated kernels introduces inaccuracies into the compositing process, since the 3D reconstruction kernel is composited as a whole. This can cause color bleeding artifacts (i.e. the colors of hidden background objects may "bleed" into the final image).

Figure 2.2: Illustration of splatting. The optical model is evaluated for each voxel and projected onto the image plane using a footprint (splat).
\includegraphics{state_of_the_art/images/splatting.eps}

To remedy these artifacts, an approach has been developed which sums voxel kernels within volume slices most parallel to the image plane. However, this leads to severe brightness variations in interactive viewing. Mueller et. al. introduced a method which eliminates these drawbacks [36]. Their approach processes voxel kernels within slabs aligned parallel to the image plane. All voxel kernels that overlap a slab are clipped to the slab and summed into a sheet buffer. Once a sheet buffer has received all contributions, it is composited with the current image, and the slicing slab is advanced forward. Mueller et. al. also presented an acceleration technique called early splat elimination which allows to skip footprint rasterization for occluded voxels [37]. However, the projection transformation still has to be performed for these voxels, hence, this optimization is not as effective as early ray termination in raycasting.