Article thumbnail

Slab-Based Raycasting: Efficient Volume Rendering with CUDA, High Performance Graphics

By Jörg Mensmann, Timo Ropinski and Klaus Hinrichs


GPU-based raycasting [Krüger and Westermann 2003] 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. Volume Raycasting with CUDA • As a preliminary test, we have analyzed basic raycasting with full Phong lighting, which requires multiple texture fetches per sample point. • GLSL shaders from an existing volume rendering system were ported. • Entry and exit points were generated by rendering a proxy geometry. • No major speedup was expected for simply translating the raycasting shaders to CUDA kernels, as they use the same hardware. • Result: Speedups of up to 30 % were reached, compared to OpenGL fragment shaders (depends on data set, GPU

Year: 2009
OAI identifier: oai:CiteSeerX.psu:
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • (external link)
  • (external link)
  • Suggested articles

    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.