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.
Source code
The development code base can be accessed in two ways:?
Tar/zipballs of each previously released version can be found in the
Downloads
section
License
Field3D is distributed under the
New BSD License
.
Mailing list
For developers integrating Field3D into their own applications, and for other general questions about the file format and the rest of the library, please join:
field3d-dev@googlegroups.com (
http://groups.google.com/group/field3d-dev
)
Contact
For more information, contact
Magnus Wrenninge
.
For information on other open source projects by Imageworks, see
http://opensource.imageworks.com/