About OpenVDB

OpenVDB is an Academy Award-winning C++ library comprising a hierarchical data structure and a suite of tools for the efficient manipulation of sparse, time-varying, volumetric data discretized on three-dimensional grids. It is based on VDB, which was developed by Ken Museth at DreamWorks Animation, and it offers an effectively infinite 3D index space, compact storage, fast data access, and a collection of algorithms specifically optimized for the data structure for common tasks such as filtering, CSG, compositing, numerical simulation, sampling, and voxelization from other geometric representations. The technical details of VDB are described in the paper "VDB: High-Resolution Sparse Volumes with Dynamic Topology".

OpenVDB was developed at DreamWorks Animation primarily by

  • Ken Museth
  • Peter Cucka
  • Mihai Aldén
  • David Hill

Features and Tools

Efficient Data Structure

OpenVDB represents high-resolution sparse volumes compactly both in memory and on disk, via a novel hierarchical data structure that offers an effectively infinite 3D index space and via a custom, lossless codec for fast file I/O.

Fast Voxel Access

OpenVDB features fast (constant-time) random and sequential access to voxels. This is the result of a new, CPU-like caching scheme and compact, hierarchical bit mask iterators.

Conversion Tools

OpenVDB volumes can be generated robustly and efficiently from polygonal meshes or particles, and can be converted to adaptive meshes, point clouds, signed distance fields or fog volumes.

img img

Level Set Tools

OpenVDB includes a large selection of level set operators, including multithreaded advection, smoothing, filtering, surface tracking, offsetting, resampling, rendering and near-real-time Boolean operations.

img img


OpenVDB’s suite of filters for smoothing and applying noise to volumes forms the basis for DreamWorks Animation’s feature film cloud modeling toolset.


Morphological Operations

OpenVDB features fast morphological operations like dilation and erosion, which are essential when dealing with dynamic volumes, for example during level set interface tracking.


Topological Operations

OpenVDB’s fast topological operations (union, intersection and difference) are the foundation for many of its sparse algorithms, in particular ones for masked filtering and meshing.

Geometric Transforms

OpenVDB includes tools for advection of level sets or point clouds through vector fields, with the option to constrain points to surfaces, and tools to reshape, resample and segment volumes, highlighted by fast, seamless volumetric fracturing.

img img

Mathematical Transforms

OpenVDB supports scalar- and vector-valued volumes and provides vector calculus and related operations such as gradient, Laplacian, closest-point transform and vector field curl and divergence.

img img

Rendering Support

OpenVDB includes a standalone OpenGL volume visualizer as well as a simple, fast command-line ray tracer that takes advantage of accelerated ray traversal methods.


Compositing Tools

OpenVDB provides a variety of efficient tools for procedurally combining volumes.

Python Support

OpenVDB includes a Python module with functions for basic manipulation of volumes.

Additional Contributors

Side Effects Software

  • Neil Dickson
  • Halfdan Ingvarsson
  • Jeff Lait
  • Edward Lam
  • John Lynch
  • Adrian Saldanha

Pixar Animation Studios

  • Julian Fong

Solid Angle

  • Mike Farnsworth
  • Marcos Fajardo

Digital Domain

  • John Johansson
  • Fredrik Salomonsson

Double Negative

  • Nick Avramoussis

Rainmaker Entertainment

  • Nicholas Yue

Industrial Light & Magic

  • Dan Bailey
  • Rick Hankins

Special Thanks

DreamWorks Animation

  • Jeff Budsberg
  • Brett Miller
  • Koen Vroeijenstijn