paper

GigaVoxels: Ray-Guided Streaming for Efficient and Detailed Voxel Rendering

  • Authors:

📜 Abstract

We propose a new approach to efficiently render large volumetric data sets. The system achieves interactive to real-time rendering performance for several billion voxels. Our solution is based on an adaptive data representation depending on the current view and occlusion information, coupled to an efficient ray-casting rendering algorithm. One key element of our method is to guide data production and streaming directly based on information extracted during rendering. Our data structure exploits the fact that in CG scenes, details are often concentrated on the interface between free space and clusters of density and shows that volumetric models might become a valuable alternative as a rendering primitive for real-time applications. In this spirit, we allow a quality/performance trade-off and exploit temporal coherence. We also introduce a mipmapping-like process that allows for an increased display rate and better quality through high quality filtering. To further enrich the data set, we create additional details through a variety of procedural methods. We demonstrate our approach in several scenarios, like the exploration of a 3D scan (8192³ resolution), of hypertextured meshes (16384³ virtual resolution), or of a fractal (theoretically infinite resolution). All examples are rendered on current generation hardware at 20-90 fps and respect the limited GPU memory budget.

✨ Summary

Overview

The paper presents an out-of-core GPU framework for rendering volumetric data sets whose size greatly exceeds available GPU memory. Its central representation combines an adaptive N³-tree with fixed-size, mipmapped voxel bricks stored in GPU-resident node and brick pools. Empty or homogeneous regions are represented compactly, while visible regions are refined according to view-dependent level of detail and occlusion.

Rendering is performed by GPU ray casting. Rays descend the hierarchy iteratively, analytically integrate constant regions, and ray-march brick data when finer sampling is required. The system uses mipmap-based filtering and distance-dependent sampling to approximate cone integration, reduce aliasing, smooth transitions between levels of detail, and improve performance.

A major contribution is the ray-guided streaming mechanism. During rendering, rays report which nodes and bricks were used or require refinement. These requests are compacted on the GPU using spatial and temporal coherence before being sent to the CPU. An LRU policy then updates the node and brick caches, allowing the renderer to load only data needed by the current image while discarding data that is no longer used. This unifies rendering, visibility determination, level-of-detail selection, and streaming, substantially reducing CPU-side traversal and visibility work.

The experiments demonstrate interactive performance on the hardware available in 2009: approximately 20–40 Hz for an 8192³ trabecular-bone volume, around 60–90 Hz for a procedurally instantiated Sierpinski volume, and about 20 fps for a computationally complex hypertextured 1024³ volume. The implementation also supports procedural brick generation on the GPU, including Perlin-noise detail and distance-field-based hypertextures. The reported results show that high-quality rendering of massive, detailed volumes can be achieved within a limited GPU-memory budget.

Influence and subsequent use

The paper established a concrete GPU-oriented combination of sparse hierarchical voxel storage, ray-guided out-of-core streaming, view-dependent refinement, and prefiltered voxel data. Its ideas were subsequently cited in work on interactive ray tracing with voxel hierarchies and in later sparse-voxel-octree research. (doi.org)

The authors’ later research also extended voxel-based representations toward real-time indirect illumination using voxel cone tracing; that work explicitly discusses compatibility between its voxel structure and out-of-core caching schemes such as the one introduced here. (research.nvidia.com) NVIDIA identifies the GigaVoxels pipeline as one of Cyril Crassin’s notable contributions and describes it as an influence on prefiltered voxel representations for large, detailed real-time scenes. (research.nvidia.com)

An associated GigaVoxels software library was subsequently developed as a GPU rendering pipeline for complex scenes containing billions of voxels, indicating practical continuation of the paper’s implementation direction. (github.com)