Dieses Dokument ist leider nur in Englisch verfügbar.

space

Polygonal Isosurfaces Reconstruction on Graphics-Hardware

Description

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.


Storing the vertex data, the scalar values, and the interconnectivity information for the tetrahedral mesh in an appropriate set of texture maps, a fragment program can be used to extract the isosurface intersection polygon for each tetrahedra. The computed intersection vertices are written as pixel data to a ATI SuperBuffer object that is subsequently bound as a vertex array for rendering the surface or post-processing directly on the GPU. With SuperBuffer sizes of up to 2048^2 pixels it is possible to extract in parallel isosurface polygons from more than one million tetrahedra in a single rendering pass. Thus, avoiding the bottlenecks of data read back and vertex array upload. More details can be found in the paper.

Results

Example dataset Tornado Example dataset Neghip Example dataset Car Example dataset Silicon crystal
The images above show some examples of tetrahedral datasets. All renderings were generated on a standard PC equipped with an ATI 9800Pro graphics board. The performance in terms of processed tetrahedra per second we achieved for these examples is given in the table below.

Dataset#TetrahedraTetrahedra/s Extraction Tetrahedra/s Extraction+Rendering
Tornado 9.5M9.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


This numbers are not that impressive, but we blame the still low performance to the still experimental state of the SuperBuffers support of current ATI graphics cards and drivers, and the very long fragment program we had to use due to limitations of current ATI hardware regarding dependent texture lookups.

Contact

Thomas Klein

References

(See also the list of publications of the institute.)

[KSE04] T. Klein, S. Stegmaier, and T. Ertl. Hardware-accelerated Reconstruction of Polygonal Isosurface Representations on Unstructured Grids, 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.




zurueck zur VIS Homepage
English