Slab-Based Raycasting: Efficient Volume Rendering with CUDA

GPU-based raycasting is the state-of-the-art rendering technique for interactive volume visualization. The ray traversal is usually
implemented in a fragment shader, utilizing the hardware in a way that was not originally intended. New programming interfaces for stream processing, such as
CUDA, support a more general programming model and the use of additional device features, which are not accessible through traditional shader programming.
We propose a slab-based raycasting technique that is modeled specifically to use these features to accelerate volume rendering. This technique is based on
experience gained from comparing fragment shader implementations of basic raycasting to implementations directly translated to CUDA kernels. The comparison
covers direct volume rendering with a variety of optional features, e.g., gradient and lighting calculations.