GigaVoxels, Real-time Voxel-based Library to Render Large and Detailed Objects
Abstract
We present an implementation of the GigaVoxels rendering engine used to render large scenes and detailed objects in real-time. Implemented in CUDA, it leverages the performance and features of massively parallel graphics processors. It is based on a volumetric pre-filtered geometry representation and an associated voxel-based approximate cone tracing that allows a high performance rendering with high quality filtering. The underlying data structure exploits the fact that in CG scenes, details are often concentrated on their interface and shows that volumetric models might become a valuable alternative as a rendering primitive for real-time applications. Our solution is based on an adaptive hierarchical data representation depending on the current view, coupled to a ray-casting rendering algorithm. The core system, a GPU cache mechanism, provides a paging of data in video memory and is coupled with a data production pipeline able to dynamically load or produce voxel data on the GPU. Data production and caching in video memory is based on data requests and usage information emitted during rendering. We illustrate our approach with several applications. We present features provided by the library trough examples taking from our SDK, and show a survey of our programming paradigm.
Domains
Graphics [cs.GR]Origin | Files produced by the author(s) |
---|