Field3D is an open source library for storing voxel data. It provides C++ classes that handle in-memory storage and a file format based on HDF5 that allows the C++ objects to be written to and read from disk.
The library and file format is both flexible and extendable. The flexibility comes from supporting heterogeneous storage of data structures, bit depths, transformations/mappings and metadata in a single file. When functionality needs to be extended, the plugin and class factory architecture allows new data structures, mappings and file I/O routines to be added.
Field3D was developed with the needs and scale of visual effects production in mind. Dense and MAC-fields handle the basic tasks in fluid simulation and volume rendering, and where memory becomes a limiting factor optimization of used/unused space is provided by the sparse fields, which include an out-of-core/dynamic loading mechanism. Procedural fields are also supported, which may be used interchangeably with voxel-based fields.
The code was
initially developed at Sony Pictures Imageworks as a replacement for the
three different in-house file formats previously used to store voxel
data. It is currently used in several contexts: both our volume
rendering and fluid simulation frameworks use it as their native data
structures and file format, and in Houdini it serves as the base for our
voxel and levelset editing toolsets.
The development code base can be accessed in two ways:
Tar/zipballs of each previously released version can be found in the Downloads section
Field3D is distributed under the New BSD License.
For more information, contact Magnus Wrenninge.
For information on other open source projects by Imageworks, see http://opensource.imageworks.com/