Interactive transparency rendering for large CAD models.
Transparency is an important graphics effect that can be used to significantly increase the realism of the rendered scene or to enable more effective visual inspection in engineering visualization. In this paper, we propose achieving interactive transparency rendering of a static scene by sorting the triangles in back-to-front order on CPU and supplying the sorted triangles to the graphics pipeline for rendering on GPU hardware. Our sorting method sorts the triangles in object space and is built upon the Binary Space Partition (BSP) and depth-sort methods with its behavior readily tunable to exploit the strengths of both methods. We propose novel techniques to optimize the BSP construction process with respect to multiple factors including tree construction time, tree size, and expected sorting cost. We also propose an improved depth-sort algorithm that can produce correct depth order without triangle split when no cyclic occlusion exists. We demonstrate that the proposed system results in a penalty factor of 4-6 for various types of parts, among which the largest one has nearly 1.2 million triangles. In addition, the penalty factor may be further improved if sorting in CPU and rendering in GPU are executed in parallel. Two approximation strategies are also studied to test the practicality of our system against large CAD assemblies. Experimental results on an assembly containing over 16 million triangles distributed in about 10,000 transparent parts show that the proposed system still results in a penalty factor of 4-6 while producing few artifacts.
Huang
Jianbing
J
UGS PLM Solutions, 2321 North Loop Drive, Ames, IA 50014, USA. Jianbing.Huang@ugs.com
Carter
Michael B
MB
D000465:Algorithms; D003196:Computer Graphics; D003198:Computer Simulation; D003199:Computer Systems; D017076:Computer-Aided Design; D007089:Image Enhancement / Q000379:methods*; D007090:Image Interpretation, Computer-Assisted / Q000379:methods*; D021621:Imaging, Three-Dimensional / Q000379:methods*; D016247:Information Storage and Retrieval / Q000379:methods; D008962:Models, Theoretical; D014584:User-Computer Interface