041 · OPENVDB
sparse volumetric grid · ex sparso, plenum
Project Lavos · The Stack
PLATE XLI · CROSS-SECTION OF A CLOUD

Ex sparso, plenum.

— FROM SPARSE, THE WHOLE —

the volume.

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.

— Plate XLI · Anatomy of a Cloud · Three Views — after Museth, ACM TOG 32(3) · 2013
I · DENSITY
slice.
A 2D plane cut through the 3D cloud. Where it is bright, the volume has density. Where it is dark, nothing is stored.
II · HIERARCHY
tree.
ROOT · L₅ L₄ L₃ LEAF · 8³ = 512 VOXELS — active 5 · 4 · 3 BRANCHING
A pyramid of B+ trees. Each level has fixed branching (5⁵ at root, 4⁴ at internal, 8³ at leaves). Most boxes are empty. The empty ones store nothing.
III · RENDER
cloud.
Live raymarched volume in your browser. Each pixel is a ray that walks through the field, accumulating density. This is what the slice and the tree are for.
— Hierarchy — 5 · 4 · 3 · B+ tree
— Voxels per Leaf — 8³ = 512 · SIMD-aligned
— Active Set — ~3% of bounds · typical cloud
— Memory — O(active) · not O(box)
— Six Domains · One Sparse Hierarchy — any 3D field can be a VDB
VDB-001
— cloud —
density · scattering
VDB-002
— smoke —
density · velocity
VDB-003
— fire —
temperature · burn
VDB-004
— water surface —
level set · φ = 0
VDB-005
— SDF —
signed distance · φ(x)
VDB-006
— point cloud —
PointDataGrid · LiDAR

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.

Authorship & Provenance colophon — DreamWorks, ASWF
Authorship
Ken Museth
DreamWorks Animation · 2009
open-sourced 2012
github.com/AcademySoftwareFoundation/openvdb
Architecture
Sparse B+ tree · 5 / 4 / 3 levels
Leaf = 8³ voxels (SIMD-aligned)
Mozilla Public License 2.0
NanoVDB · GPU subset · 2020
Governance
Academy Software Foundation
Linux Foundation · 2020
completes the standards triangle:
USD · MaterialX · VDB

— Lineage · the volume becomes the standard —

2009Ken Museth begins work at DreamWorks on a sparse volumetric data structure. Earlier alternatives (DB+Grid, dense fields) couldn't scale.
2012OpenVDB released open-source. Mozilla Public License. Adopted immediately by Pixar (Brave), ILM, MPC.
2013Museth's ACM TOG paper. Frozen ships using OpenVDB for snow simulation. Scientific & Technical Academy Award.
2017Native integration in Houdini, Maya, Cinema 4D, Blender, RenderMan, Arnold, V-Ray, Mantra, Karma.
2020NanoVDB — GPU subset, single-header, suitable for inline raymarching in real-time engines.
2020OpenVDB joins the Academy Software Foundation. Linux Foundation governance. Industrial standard.
2023NeuralVDB — neural compression of VDB grids. 100× memory reduction for some volumes.
The void is the design. Every cloud, every cataclysm, sparsely encoded.

store only what is there.

USD describes the scene. MaterialX describes the surface. OpenVDB describes the volume. The standards triangle is closed.

— § I · Authoring · Standards / Volumes —
Plate XLI · MMXXVI
projectlavos-bauhaus · 041