Skip to main content
Log in

Direct volume rendering of unstructured tetrahedral meshes using CUDA and OpenMP

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Algorithm 1
Algorithm 2
Algorithm 3
Algorithm 4
Algorithm 5
Algorithm 6
Algorithm 7
Algorithm 8
Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  1. Berk H, Aykanat C, Güdükbay U (2003) Direct volume rendering of unstructured grids. Comput Graph 27(3):387–406

    Article  Google Scholar 

  2. Callahan SP, Ikits M, Comba JLD, Silva CT (2005) Hardware-assisted visibility sorting for unstructured volume rendering. IEEE Trans Vis Comput Graph 11(3):285–295

    Article  Google Scholar 

  3. Cook R, Max NL, Silva CT, Williams PL (2004) Image-space visibility ordering for cell projection volume rendering of unstructured data. IEEE Trans Vis Comput Graph 10(6):695–707

    Article  Google Scholar 

  4. Engel K, Kraus M, Ertl T (2001) High-quality pre-integrated volume rendering using hardware-accelerated pixel shading. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on graphics hardware, HWWS’01. ACM, New York, pp 9–16

    Chapter  Google Scholar 

  5. Garrity MP (1990) Raytracing irregular volume data. In: Proceedings of the IEEE workshop on volume visualization. ACM, New York, pp 35–40

    Google Scholar 

  6. Hoberock J, Bell N: (2012) Thrust: a parallel template library. Version 1.3.0. http://www.meganewtons.com

  7. Koyamada K (1992) Fast traversal of irregular volumes. In: Visual computing—integrating computer graphics with computer vision. Springer, Berlin, pp 295–312

    Google Scholar 

  8. Kraus M, Ertl T (2001) Cell-projection of cyclic meshes. In: Proceedings of IEEE visualization, pp 215–559

    Google Scholar 

  9. Lefohn AE, Kniss JM, Hansen CD, Whitaker RT (2004) A streaming narrow-band algorithm: interactive computation and visualization of level sets. IEEE Trans Vis Comput Graph 10:422–433

    Article  Google Scholar 

  10. Lorensen WE, Cline HE (1987) Marching cubes: a high resolution 3D surface construction algorithm. Comput Graph 21(4):163–169

    Article  Google Scholar 

  11. Okuyan E, Güdükbay U, İşler V (2012) Dynamic view-dependent visualization of unstructured tetrahedral volumetric meshes. J Vis 15:167–178. doi:10.1007/s12650-011-0122-x

    Article  Google Scholar 

  12. Rezk-Salama C, Engel K, Bauer M, Greiner G, Ertl T (2000) Interactive volume on standard PC graphics hardware using multi-textures and multi-stage rasterization. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on graphics hardware, HWWS’00, ACM, New York, pp 109–118

    Chapter  Google Scholar 

  13. Roettger S, Guthe S, Weiskopf D, Ertl T, Strasser W (2003) Smart hardware-accelerated volume rendering. In: Proceedings of the symposium on data visualisation, VISSYM’03. Eurographics Association, Aire-la-Ville, pp 231–238

    Google Scholar 

  14. Satish N, Harris M, Garland M (2008) Designing efficient sorting algorithms for manycore GPUs. Tech Rep NVR-2008-001, NVIDIA Corporation

  15. Shirley P, Tuchman A (1990) A polygonal approximation to direct scalar volume rendering. ACM SIGGRAPH Comput Graph 24(5):63–70

    Article  Google Scholar 

  16. Silva CT, Comba JLD, Callahan SP, Bernardon FF (2005) A survey of GPU-based volume rendering of unstructured grids. Rev Inform Teõr Apl 12(2):9–30

    Google Scholar 

  17. Weiler M, Kraus M, Merz M, Ertl T (2003) Hardware-based ray casting for tetrahedral meshes. In: Proceedings of the 14th IEEE visualization, VIS’03. IEEE Comput Soc, Los Alamitos, p 44

    Google Scholar 

  18. Wylie B, Moreland K, Fisk LA, Crossno P (2002) Tetrahedral projection using vertex shaders. In: Proceedings of the IEEE symposium on volume visualization and graphics, VVS’02. IEEE Press, Piscataway, pp 7–12

    Google Scholar 

Download references

Acknowledgements

The authors are grateful to Koji Koyamada for the volumetric datasets. The Comb dataset is courtesy of NASA. The Sf1 and Sf2 datasets are courtesy of David R. O’Hallaron and Jonathan R. Shewchuk (CMU). We are grateful to Rana Nelson for proofreading.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Uğur Güdükbay.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Okuyan, E., Güdükbay, U. Direct volume rendering of unstructured tetrahedral meshes using CUDA and OpenMP. J Supercomput 67, 324–344 (2014). https://doi.org/10.1007/s11227-013-1004-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-013-1004-x

Keywords

Navigation