Direct volume rendering of unstructured tetrahedral meshes using CUDA and OpenMP

Direct volume visualization is an important method in many areas, including computational fluid dynamics and medicine. Achieving interactive rates for direct volume rendering of large unstructured volumetric grids is a challenging problem, but parallelizing direct volume rendering algorithms can help achieve this goal. Using Compute Unified Device Architecture (CUDA), we propose a GPU-based volume rendering algorithm that itself is based on a cell projection-based ray-casting algorithm designed for CPU implementations. We also propose a multicore parallelized version of the cell-projection algorithm using OpenMP. In both algorithms, we favor image quality over rendering speed. Our algorithm has a low memory footprint, allowing us to render large datasets. Our algorithm supports progressive rendering. We compared the GPU implementation with the serial and multicore implementations. We observed significant speed-ups that, together with progressive rendering, enables reaching interactive rates for large datasets.

[1]  Cevdet Aykanat,et al.  Direct volume rendering of unstructured grids , 2003, Comput. Graph..

[2]  Ross T. Whitaker,et al.  A Streaming Narrow-Band Algorithm: Interactive Computation and Visualization of Level Sets , 2004, IEEE Trans. Vis. Comput. Graph..

[3]  Nelson L. Max,et al.  Image-space visibility ordering for cell projection volume rendering of unstructured data , 2004, IEEE Transactions on Visualization and Computer Graphics.

[4]  Kenneth Moreland,et al.  Tetrahedral projection using vertex shaders , 2002, Symposium on Volume Visualization and Graphics, 2002. Proceedings. IEEE / ACM SIGGRAPH.

[5]  Michael P. Garrity Raytracing irregular volume data , 1990, VVS.

[6]  Martin Kraus,et al.  Hardware-based ray casting for tetrahedral meshes , 2003, IEEE Visualization, 2003. VIS 2003..

[7]  M. Bauer,et al.  Interactive volume on standard PC graphics hardware using multi-textures and multi-stage rasterization , 2000, Workshop on Graphics Hardware.

[8]  Koji Koyamada,et al.  Fast traverse of irregular volumes , 1992 .

[9]  Cláudio T. Silva,et al.  Hardware-assisted visibility sorting for unstructured volume rendering , 2005, IEEE Transactions on Visualization and Computer Graphics.

[10]  Martin Kraus,et al.  Cell-projection of cyclic meshes , 2001, Proceedings Visualization, 2001. VIS '01..

[11]  Steven P. Callahan,et al.  A Survey of GPU-Based Volume Rendering of Unstructured Grids , 2005, RITA.

[12]  Martin Kraus,et al.  High-quality pre-integrated volume rendering using hardware-accelerated pixel shading , 2001, HWWS '01.

[13]  E LorensenWilliam,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987 .

[14]  Thomas Ertl,et al.  Smart Hardware-Accelerated Volume Rendering , 2003, VisSym.

[15]  Wolfgang Straßer,et al.  Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware , 1997 .

[16]  William E. Lorensen,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987, SIGGRAPH.

[17]  Erhan OkuyanUg Dynamic view-dependent visualization of unstructured tetrahedral volumetric meshes , 2012 .

[18]  Peter Shirley,et al.  A polygonal approximation to direct scalar volume rendering , 1990, SIGGRAPH 1990.

[19]  Michael Garland,et al.  Designing efficient sorting algorithms for manycore GPUs , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.