Litcius/Paper detail

NanoVDB: A GPU-Friendly and Portable VDB Data Structure For Real-Time Rendering And Simulation

Ken Museth

202150 citationsDOI

Abstract

We introduce a sparse volumetric data structure, dubbed NanoVDB, which is portable to both C++11 and C99 as well as most graphics APIs, e.g. CUDA, OpenCL, OpenGL, WebGL, DirectX 12, OptiX, HLSL, and GLSL. As indicated by its name, NanoVDB is a mini-version of the much bigger OpenVDB library, both in terms of functionality and scope. However, NanoVDB offers one major advantage over OpenVDB, namely support for GPUs. As such it is applicable to both CPU and GPU accelerated simulation and rendering of high-resolution sparse volumes. In fact, it has already been adopted for real-time applications by several commercial renders and digital content creation tools, e.g. Autodesk’s Arnold, Blender, SideFX’s Houdini, and NVIDIA’s Omniverse just to mention a few.

Topics & Concepts

DirectXComputer scienceRendering (computer graphics)OpenGLComputer graphics (images)CUDAGraphics3D computer graphicsGeneral-purpose computing on graphics processing unitsGraphics processing unitSoftware renderingComputational scienceOperating systemVisualizationArtificial intelligenceComputer Graphics and Visualization Techniques3D Shape Modeling and AnalysisComputational Geometry and Mesh Generation