We present a system for interactively rendering large, unstructured grids. Our approach is to voxelize the grid into a 3D voxel octree, and then to render the data using hierarchical, 3D texture mapping. This approach leverages the current 3D texture mapping PC hardware for the problem of unstructured grid rendering. We specialize the 3D texture octree to the task of rendering unstructured grids through a novel pad and stencil algorithm, which distinguishes between data and non-data voxels. Both the voxelization and rendering processes efficiently manage large, out-ofcore datasets. The system manages cache usage in main memory and texture memory, as well as bandwidths among disk, main memory, and texture memory. It also manages rendering load to achieve interactivity at all times. It maximizes a quality metric for a desired level of interactivity. It has been applied to a number of large data and produces high quality images at interactive, userselectable frame rates using standard PC hardware.
INTRODUCTIONDirect volume rendering of 3D scalar and vector fields plays an important role in the fields of medicine and scientific visualization. In these fields, 3D data is measured or computed at a large number of points in 3D space and then rendered to produce informative images.Interaction is an effective technique for guiding the production of these images, allowing a doctor or scientist to navigate to various regions of interest and adjust the transfer function used to map the data into colors. Unfortunately, due to the size of these 3D datasets and the processing required to render them, interaction has only been possible with relatively small data sets and not of the most general organization.In particular, regular rectilinear grids of volume elements, or voxels, are well-suited to acceleration by modern graphics hardware. This hardware can take the form of a dedicated volume processor [Pfister et al. 1999] or a more generic 3D graphics accelerator [Cabral et al. 1994]. For data of the right form and size, these hardware make interaction possible.However, volume data comes in many sizes and forms. For example, data may be gathered along a warped grid, known as a structured grid, or it may be gathered at arbitrary points and connected topologically as an unstructured grid (also irregular grid or tetrahedral mesh). In addition, the data may be larger than the cache on a hardware accelerator or larger than the random access memory of the computer itself.We present an interactive system to display large 3D unstructured grids that builds upon recent advances in 3D-texture based volume rendering to devise a pipeline that scales well with increasing data size. Because a structured grid is a special case of an unstructured grid, our algorithms also apply to this class of 3D scalar fields, as well as to regular voxel data. In essence, our system brings rendering problems from the domain of unstructured grids into the domain of voxel grids, allowing for both faster rendering of these data than previous approaches ...