Multi-threaded parallel projection tetrahedral algorithm for unstructured volume rendering

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 in...

Full description

Saved in:
Bibliographic Details
Published in:Journal of visualization Vol. 24; no. 2; pp. 261 - 274
Main Authors: Fan, Liang, Chen, Cheng, Zhao, Sirui, Zhang, Xiaorong, Wu, Yadong, Wang, Fang
Format: Journal Article
Language:English
Published: Berlin/Heidelberg Springer Berlin Heidelberg 01.04.2021
Springer Nature B.V
Subjects:
ISSN:1343-8875, 1875-8975
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:1343-8875
1875-8975
DOI:10.1007/s12650-020-00701-7