An Advanced Volume Raycasting Technique Using GPU Stream Processing

Jörg Mensmann

Timo Ropinski

Ulm University

Klaus Hinrichs

2010

Abstract

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. In this paper 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. Our findings are supported by benchmarks of typical volume visualization scenarios. We conclude that new stream processing models can only gain a small performance advantage when directly porting the basic raycasting algorithm. However, they can be advantageous through novel acceleration methods which use the hardware features not available to shader implementations.

Bibtex

@inproceedings{mensmann2010advanced,
	title={An Advanced Volume Raycasting Technique Using GPU Stream Processing},
	author={Mensmann, J{\"o}rg and Ropinski, Timo and Hinrichs, Klaus},
	year={2010},
	pages={190--198},
	editor={Richard, Paul and Braz, Jos{\'e} and Hilton, Adrian}
}