Visualizing volumetric datasets by their isosurfaces is a standard technique which is well understood by practitioners and therefore still very prominent in many fields of scientific visualization and engineering. Typically the Marching Cubes or - in the case of unstructured grids - the Marching Tetrahedra algorithm is used to extract a polygonal representation of the surfaces. But with the recent success of graphics hardware accelerated direct volume rendering techniques, other approaches that are able to benefit from the fast advances in commodity graphics hardware have moved into the focus of the visualization community. A major step in isosurface rendering was done by exploiting OpenGL pixel tests and programmable features like NVIDIA's register combiners for visualizing shaded isosurfaces on uniform grids. For unstructured grids hardware-accelerated cell-projection techniques and, recently, GPU-based raycasting approaches in combination with pre-integrated transfer functions have been proposed. However, in striving to achieve high performance for interactive visualization using modern graphics hardware, the essential surface property of isosurfaces has been lost. All direct volume-rendering approaches visualize the isosurface on a per-pixel basis without actually reconstructing it. Thus, these approaches are rather isosurface visualization than isosurface extraction techniques. Therefore, if more advanced features than adjusting isovalues or shading parameters are required one still has to use a software solution.
However, there are many attractive applications for isosurfaces that are available in a polygonal representation like, e.g., post-processing the surface. Accordingly, there is a high interest in algorithms and implementations that exhibit a performance comparable to that of the aforementioned GPU-based isosurface visualization techniques but still provide the isosurface geometry for further processing. Ideally, such an algorithm should be capable of processing arbitrary unstructured grids or - since every unstructured grid can be easily decomposed into tetrahedra - at least tetrahedral grids.
The most powerful units on modern GPUs are the fragment processors. Thus, it is straightforward to utilize their parallel processing power to extract the polygonal representation of an isosurface. But until recently the generation of geometry, i.e. vertices, on the GPU that is neccesary by such an approach has been prevented due to the high cost of reading back pixel data from the frame buffer. Fortunatelly, with the new possibility to render directly to a vertex array provided by ATI's recently introduced SuperBuffers functionality now it is possible to generate geometry directly on the GPU.
|
|
|
|
|
|
| Dataset | #Tetrahedra | Tetrahedra/s Extraction | Tetrahedra/s Extraction+Rendering |
|---|---|---|---|
| Tornado | 9.5M | 9.5M | 3.2M |
| Tornado | 4.9M | 11.8M | 5.5M |
| Neghip | 1.25M | 12.0M | 7.6M |
| Silicon | 528K | 12.0M | 7.6M |
| Car | 450K | 12.0M | 7.7M |
[KSE04] T. Klein, S. Stegmaier, and T. Ertl.
Hardware-accelerated Reconstruction of Polygonal Isosurface Representations on
Unstructured Grids[4],
Proceedings of the Twelfth Pacific Conference on Computer Graphics and
Applications - Pacific Graphics 2004, Cohen-Or, D., Ko, H.-S., Terzopoulos, D.
and Warren, J., eds., IEEE Computer Society Press, Los Alamitos, California,
pp. 186-195.
|
University of Stuttgart, Institute for Computer Science, Visualization and Interactive Systems Group http://www.vis.uni-stuttgart.de/eng/research/fields/current/hwiso/index.html |