a novel approach to extract triangle strips for iso-surfaces in volumes
The Marching Cubes (MC) algorithm is a popular approach to extract iso-surfaces from volumetric data. This approach extracts triangles from the volume data for a specific iso-value using a table lookup approach. The lookup entry in the MC is a name value pair, where the name is a number that uniquely identifies a cube topology and the value is the set of triangles for that topology. The MC applies a divide-and-conquer strategy by subdividing the volume into cubes with voxels at each corner of the cube and processes these cubes in a specific order. Thus, for a user specified iso-value, the MC looks up triangles for each cube and thereby generates the whole iso-surface. Most modern graphics hardware renders triangles faster if they are rendered collectively as triangle strips as opposed to individual triangles. Therefore, in this paper we have modified the MC lookup table approach such that the name is the cube topology and the value is a sub-surface piece(s) and its face-index representation. At the time of extraction we tessellate the sub-surface pieces by considering the pieces in the neighboring cubes using the face-index representation and then triangulate these tessellated sub-surface pieces into triangle strips. Our approach is superior to the existing approaches. Its features include: (1) simplicity, (2) procedural triangulation which avoids painful pre-computation, and (3) face-index representation of surface pieces that enables an efficient connection mechanism.
triangle strips iso-surface marching cubes iso-value sub-surfaces