Ex sparso, plenum.
— FROM SPARSE, THE WHOLE —
Ken Museth · DreamWorks Animation · 2009 · ASWF · 2020
SPARSE B+ TREE · 5 · 4 · 3 BRANCHING · LEVEL SETS · CLOUDS · SDF · POINT CLOUDS
OpenUSD describes the scene. MaterialX describes the surface. OpenVDB describes the volume — every cloud, every smoke plume, every fire ball, every fluid sim shipped in animation since 2012. The data structure is a sparse pyramid of B+ trees with branching factors 5, 4, 3 — a hierarchy that stores only the voxels that exist and treats absence as the default. You compose a dense world from a deeply sparse store.
The trick is the assumption. Most of 3D space is empty. If you store a uniform 1024³ grid you have a billion cells; if the cloud occupies a million of them, you have wasted three orders of magnitude. VDB stores only the cells that exist — and a hierarchy that lets you find them in O(log n).
This is the data structure behind every cloud, every fire, every smoke plume, every fluid sim shipped since Frozen. Pixar uses it. ILM uses it. Every Houdini destruction shot is a VDB. The void is the design.
github.com/AcademySoftwareFoundation/openvdbNanoVDB · GPU subset · 2020| 2009 | Ken Museth begins work at DreamWorks on a sparse volumetric data structure. Earlier alternatives (DB+Grid, dense fields) couldn't scale. |
| 2012 | OpenVDB released open-source. Mozilla Public License. Adopted immediately by Pixar (Brave), ILM, MPC. |
| 2013 | Museth's ACM TOG paper. Frozen ships using OpenVDB for snow simulation. Scientific & Technical Academy Award. |
| 2017 | Native integration in Houdini, Maya, Cinema 4D, Blender, RenderMan, Arnold, V-Ray, Mantra, Karma. |
| 2020 | NanoVDB — GPU subset, single-header, suitable for inline raymarching in real-time engines. |
| 2020 | OpenVDB joins the Academy Software Foundation. Linux Foundation governance. Industrial standard. |
| 2023 | NeuralVDB — neural compression of VDB grids. 100× memory reduction for some volumes. |
| ∞ | The void is the design. Every cloud, every cataclysm, sparsely encoded. |
USD describes the scene. MaterialX describes the surface. OpenVDB describes the volume. The standards triangle is closed.