Abstract
Volume rendering methods have been extensively studied in recent years due to their effectiveness and expressiveness for unstructured grid data visualization. Although existing volume rendering methods have demonstrated great success, we observe that these methods have extensive interpolation and integral operations, which may adversely affect their efficiency and further prevent them being applied in interactive visualization. To boost efficiency and achieve interactive rendering rates, we propose a novel multi-threaded parallel projection tetrahedral algorithm based on multi-core architecture. By analyzing the parallelism of volume rendering methods, we find that the visibility sorting and classification/decomposition of projection polygons are the most time-consuming parts. To reduce the execution time of these two parts, we design corresponding parallel methods. In this manner, our method can dramatically improve efficiency and further enable user interactions for progressive unstructured grid analysis. The visibility sorting part includes partial sorting and global sorting: In partial sorting, we partition disordered tetrahedral depth array and obtain several loosely coupled subarrays, and in global sorting, we sort each subarray with multi-threads technique. In the classification/decomposition of projection polygons part, we normalize tetrahedral projection to ensure arbitrary tetrahedral produces the same number of triangles, and then store the produced vertex data into vertex array with offset computation that ensures correct order for the multi-threads runtime. The experimental results show that the proposed multi-threaded projection tetrahedral algorithm can achieve a speedup of 3.4X on a 20 cores CPU and outperforms the fastest VTK implementation at a speedup of 2.5X, which verifies the efficiency of our algorithm.
Graphic Abstract
Similar content being viewed by others
References
Antonio F (1992) Faster line segment intersection. In: Blair Kirk D (ed) Graphics Gems III (IBM Version), The Graphics Gems Series. Academic Press, Cambridge, pp 199–202
Bunyk P, Kaufman AE, Silva CT (1997) Simple, fast, and robust ray casting of irregular grids. In: Hagen Hans, Nielson Gregory M, Post Frits H (eds) Dagstuhl ’97, Scientific Visualization, Dagstuhl, Germany, 9-13 June 1997. IEEE Computer Society, pp 30–36
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
Farias RC, Mitchell JSB, Silva CT (2000) ZSWEEP: an efficient and exact projection algorithm for unstructured volume rendering. In: Lorensen William E, Crawfis Roger, Cohen-Or Daniel (eds) Proceeding of the 2000 Volume Visualization and Graphics Symposium, VVS 2000, Salt Lake City, Utah, USA, October 9-10, 2000. ACM / IEEE Computer Society, pp 91–99
Garrity Michael P (1990) Raytracing irregular volume data. Comput Graph 24(5:35–40
Grama A, Gupta A, Kumar V, (1993) Isoefficiency: measuring the scalability of parallel algorithms and architectures. IEEE Parallel Distrib Technol Syst Appl 1(3):12–21
Hutcheson A, Natoli V (2011) Memory bound versus compute bound: a quantitative study of cache and memory bandwidth in high performance applications. In: Technical report, Stone Ridge Technology
Kaufman AE (1996) Volume visualization. Vis Comput 28(1):165–167
Kaufman AE, Mueller K (2005) Overview of volume rendering. In: Hansen Charles D, Johnson Christopher R (eds) The visualization handbook. Academic Press / Elsevier, Cambridge/Amsterdam, pp 127–174
Marroquim R, Maximo A, Farias RC, Esperança C (2008) Volume and isosurface rendering with gpu-accelerated cell projection*. Comput Graph Forum 27(1):24–35
Max NL (1995) Optical models for direct volume rendering. IEEE Trans Vis Comput Graph 1(2):99–108
Max N, Hanrahan P, Crawfis R (1990) Area and volume coherence for efficient visualization of 3d scalar functions. Acm Siggraph Comput Graph 24(5):27–33
Maximo A, Marroquim R, Farias RC (2010) Hardware-assisted projected tetrahedra. Comput Graph Forum 29(3):903–912
Min C, Kaufman AE, Yagel R (2000) Volume graphics. Springer, Berlin
Miranda Fábio M, Filho WC (2011) Accurate volume rendering of unstructured hexahedral meshes. In: Lewiner T, da Silva TR (eds) 24th SIBGRAPI Conference on Graphics, Patterns and Images, Sibgrapi 2011, Alagoas, Maceió, Brazil, August 28-31, 2011. IEEE Computer Society, pp 93–100
Mueller C, Strengert M, Ertl T (2007) Adaptive load balancing for raycasting of non-uniformly bricked volumes. Parallel Comput 33(6):406–419
Newell M, Newell R, Sancha T (1998) A solution to the hidden surface problem, pp 27–32. 07
Shirley P, Tuchman A (1990) A polygonal approximation to direct scalar volume rendering. Acm Siggraph Computer Graphics
Spiliotis IM, Bekakos MP, Boutalis YS (2020) Parallel implementation of the image block representation using openmp. J Parallel Distrib Comput 137:134–147
Stein CM, Becker BG, Max NL (1995) Sorting and hardware assisted rendering for volume visualization. In: Kaufman Arie E, Krueger Wolfgang (eds) Proceedings of the 1994 Symposium on Volume Visualization, VVS 1994, Washington, DC, USA, October 17–18, 1994. ACM, pp 83–89
Weiler M, Kraus M, Merz M, Ertl T (2003) Hardware-based ray casting for tetrahedral meshes. In: Turk G, van Wijk JJ, Moorhead II Robert J (eds) 14th IEEE Visualization 2003 Conference, VIS 2003, Seattle, WA, USA, October 19-24, 2003. IEEE Computer Society, pp 333–340
Weiler M, Mallón PN, Kraus M, Ertl T (2004) Texture-encoded tetrahedral strips. In: 2004 IEEE Symposium on Volume Visualization and Graphics, VolVis 2004, Austin, TX, USA, October 10-12, 2004, pp 71–78. IEEE Computer Society
Wilhelms J, Van Gelder A (1991) A coherent projection approach for direct volume rendering. In: Thomas JJ (ed) Proceedings of the 18th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH 1991. Providence, RI, USA, April 27-30, 1991, pages 275–284. ACM
Williams PL (1992) Interactive splatting of nonrectilinear volumes. In: Kaufman AE, Nielson GM (eds) Proceedings IEEE Visualization ’92, Boston, Massachusetts, USA, October 19-23, 1992. IEEE Computer Society, pp 37–45
Williams PL (1992) Visibility-ordering meshed polyhedra. ACM Transactions on Graphics
Wylie B, Moreland K, Fisk LA, Crossno P (2002) Tetrahedral projection using vertex shaders. In: IEEE/SIGGRAPH Symposium on Volume Visualization and Graphics, VolVis 2002, October 28–29, 2002, Boston, MA, USA
Acknowledgements
The authors wish to thank Hung, Ekaterinaris, Rogers and Buning for providing available test datasets. This work was supported by the National Numerical Windtunnel Project and the Key Technology Research of Service Robot Basic Software (2020YFG0031).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Fan, L., Chen, C., Zhao, S. et al. Multi-threaded parallel projection tetrahedral algorithm for unstructured volume rendering. J Vis 24, 261–274 (2021). https://doi.org/10.1007/s12650-020-00701-7
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12650-020-00701-7