Volume Visualization of AMR Data
Adaptive mesh refinement (AMR) is a grid generation approach used to discretize the physical domain for numerical simulation. The discretization is adapted to the varying complexity of geometry or dependent physical variables. AMR is a highly efficient technique supporting the use of higher-resolution meshes in regions of greater complexity. AMR technology is used, for example, in computational fluid dynamics (CFD) simulations, where small regions of turbulence have to be resolved finely, and in astrophysical simulations, where scales can span several orders of magnitude.
Direct volume rendering (DVR) is a visualization technique for 3D scalar data that can visualize the 3D structure of an entire data set by simulating the appearance of translucent gel. Previously, AMR data could only be volume rendered by re-sampling an entire dataset on a regular grid, and then using existing DVR algorithms on the resampled grid. This approach does not take advantage of the multi-resolution nature of AMR data, and is either wasteful if the resampling is performed at a high resolution, or generates low-quality images if the resampling resolution is low.
We describe a framework for direct volume rendering of AMR data that operates directly on the hierarchical AMR grid structure, without the need to resample data onto a single uniform rectilinear grid. The framework can be used to implement a range of renderers optimized for particular hardware architectures: a hardware-assisted renderer for single-processor graphics workstations, a parallel hardware-assisted renderer for clusters of graphics workstations or multi-CPU graphics workstations, and a massively parallel software-only renderer for supercomputers. It is also possible to use the framework for distributed rendering to visualize data sets only accessible by remote rendering servers. By exploiting the multiresolution structure of AMR data, the hardware-assisted renderers can render large data sets at interactive rates, even if data is stored remotely.
Project Goals
The main project goals were to implement a suite of interactive volume visualization tools providing the following functionality:
- Work directly on hierarchical AMR data, without requiring to resample data.
- Read AMR data files in several commonly used file formats, without the need to convert data files to an internal format.
- Interactive visualization of large data sets:
- Change view points, camera parameters, color maps and other rendering parameters interactively from inside rendering program.
- Guarantee interactivity for arbitrarily-sized data sets by exploiting the multi-resolution structure of AMR data.
- Allow users to trade off rendering speed against image resolution and quality.
- Exploit remote rendering resources by rendering data on remote visualization servers with enough computation power and storage space to handle large data sets, while controlling rendering and viewing resulting images from a small, less powerful desktop computer.
- Provide modular framework that allows experimentation with several rendering or distribution algorithms.
- Streamline rendering algorithms for several target machine architectures:
- Desktop graphics workstation.
- Multi-CPU and multi-pipe graphics server.
- Massively parallel supercomputer without dedicated graphics hardware.
After implementing the first version of the AMR renderer, it turned out that it was so efficient that AMR rendering techniques could be used to improve rendering performance for a large class of rectilinear 3D data sets as well: sparse data sets that have different levels of complexity in different regions of the data. Even when originally in the form of single rectilinear grids, sparse data sets can be converted to AMR format in a preprocessing step, and then be rendered using the developed AMR renderer. We implemented a simple "AMRizer" program and tested the AMR renderer on several large 3D rectilinear data sets; in some cases achieving impressive data size reduction and rendering performance increase due to the hierarchical representation.
Project Status
The suite of AMR renderers has reached the level of functionality described above. Existing renderers include a hardware-assisted renderer for desktop graphics workstations with OpenGL-capable graphics cards running a flavour of UNIX (Linux boxes with NVidia GeForce-level cards, SGI Octane/Fuel); a hardware-assisted renderer for multi-CPU, multi-pipe graphics servers (SGI Onyx2, currently only tested on dual IR2/IR3 pipes); and a software-only renderer for massively parallel supercomputers (Cray T3E, IBM SP2). The latter two renderers are distributed, and allow remote visualization of remote data from a small desktop computer via a custom TCP/IP protocol. The distributed renderers are currently being made available for scientists via grid computing using a visualization portal developed at LBNL.
The AMRizer converter is currently being used to convert large 3D rectilinear data, most successfully data generated by computed tomography or confocal microscopy. The generated AMR data sets are then rendered using an appropriate version of the AMR renderer, with considerable performance increase compared to rendering the original rectilinear data sets.
Related Publications
- Kreylos, O., Weber, G.H., Bethel, E.W., Shalf, J.M., Hamann, B., and Joy, K.I., Remote Interactive Direct Volume Rendering of AMR Data, TR LBNL-49954, March 2002
- Jankun-Kelly, T.J., Kreylos, O., Shalf, J., Ma, K.-L., Hamann, B., Joy, K.I., and Bethel, E.W., Deploying Web-based Visual Exploration Tools on the Grid, to appear in: IEEE Computer Graphics and Applications, IEEE Computer Society Press, Mar/Apr 2003
Pages In This Section
- Screen Shots
- Example images created by the AMR volume renderer.