Deborah R. Fowler
OpenVDB
Updated: Sept 16 2013
Updated Aug 21 2020
NEWS Aug 20, 2020: Open VDB Adds GPU support with NanoVDB;
OpenVDB Version 7.1 Now Available https://www.aswf.io/nanovdb/
Intro
What is a OpenVDB? An open-source data
structure and toolkit for high-resolution volumes. OpenVDB is
now fully integrated into Houdini (12.5 and up).
OpenVDB
is developed and maintained by DreamWorks Animation and is
designed for manipulation of sparse volumetric data.
"OpenVDB is an open source C++ library
comprising a novel hierarchical data structure and suite of
tools for the efficient storage and manipulation of sparse
volumetric data discretized on three-dimensional grids."
Documentation for OpenVDB exists here.
Also on their site are downloads - in particular the sample models
could be very handy.
Here
is an interview with Ken Museth and Jeff Wike of Dreamworks
about OpenVDB.
Also, there is an excellent interview from fxGuide Aug 20, 2013 - Dreamworks
Turbo using Openvdb and Houdini
At 23:05 is a diagram illustrating what an Openvdb data
structure might look like.
In Houdini
Volumes allow you to store values for “voxels” in a space. You can store “metadata” (data about data), such as velocity fields (a velocity for each voxel), collision fields and so on.
Houdini supports two types of volume primitive at the geometry level. Standard Houdini volume is a box with a position, size, and orientation, subdivided into a 3D grid of voxels, a value stored at each voxel. An OpenVDB volume uses the OpenVDB library to represent a sparse volume very efficiently because it uses virtually no memory for “empty” voxels. (So it is really good for clouds and wispy smoke).
You can convert geometry to
VDB volumes using VDB from polygons and VDB from
particles nodes. Most things that work with standard
volumes work with VDB volumes.
It has been extensively integrated into
Houdini and can be used for everything from effects to modeling.