-
Notifications
You must be signed in to change notification settings - Fork 72
Field3D Home
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.
Field3D is distributed under the New BSD License.
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