CPU-GPU Algorithms for Triangular Surface Mesh Simplification
CPU-GPU Algorithms for Triangular Surface Mesh Simplification
CPU-GPU Algorithms for Triangular Surface Mesh Simplification
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4 Suzanne M. Shontz and Dragos M. NistorFig. 1. An edge-collapse on e = (v 1, v 2).of a mesh M = (vertices, elements), the <strong>CPU</strong> simplifies the first k% of theelements, and the <strong>GPU</strong> simplifies the remaining elements. The workload splittingis per<strong>for</strong>med once as a preprocessing step. Locks are used to ensure thatconflicting updates are not made in the simplification process.Since edge-collapse operations should be per<strong>for</strong>med uni<strong>for</strong>mly on the mesh,we mark the elements which have been affected by previous edge collapses sothat they do not take part in subsequent edge-collapse operations.Define N(T ) <strong>for</strong> T = (v a , v b , v c ) to be elements which contain any of thevertices v a , v b , or v c . If edge e = (v 1 , v 2 ) between elements T 1 = (v 1 , v 2 , v 3 )and T 2 = (v 4 , v 2 , v 1 ), <strong>for</strong> example, has been collapsed, then the elements inN(T 1 )∪N(T 2 ) are considered affected. The elements shaded in gray in Figure 2would be considered affected if edge (v 1 , v 2 ) were collapsed.Fig. 2. Elements considered affected by edge-collapse of (v 1, v 2).Since each edge-collapse operation causes neighboring elements to becomeaffected, there is a hard limit on the number of edge-collapse operations,and on the amount of simplification per<strong>for</strong>med per iteration of the algorithm.Additional simplification may be obtained by per<strong>for</strong>ming additional iterationsof the algorithms.