Skip to content

jmather-sesi/openvdb

 
 

Repository files navigation

OpenVDB

License CII Best Practices Slack

OpenVDB AX Nano Houdini
core ax nano hou

Website | Discussion Forum | Documentation

OpenVDB is an open source C++ library comprising a novel hierarchical data structure and a large suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It was developed by DreamWorks Animation for use in volumetric applications typically encountered in feature film production.

Development Repository

This GitHub repository hosts the trunk of the OpenVDB development. This implies that it is the newest public version with the latest features and bug fixes. However, it also means that it has not undergone a lot of testing and is generally less stable than the production releases.

License

OpenVDB is released under the Mozilla Public License Version 2.0, which is a free, open source software license developed and maintained by the Mozilla Foundation.

The trademarks of any contributor to this project may not be used in association with the project without the contributor's express permission.

Contributing

OpenVDB welcomes contributions to the OpenVDB project. Please refer to the contribution guidelines for details on how to make a contribution.

Developer Quick Start

The following provides basic installation examples for the core OpenVDB library. Other components, such as the python module, OpenVDB AX, NanoVDB and various executables, may require additional dependencies. See the build documentation for help with installations.

Linux

Installing Dependencies (Boost, TBB, Blosc)
# @note If your distribution does not have required versions, consider using
#   apt pinning. See the dependency documentation for more details.
apt-get install -y libboost-iostreams-dev
apt-get install -y libtbb-dev
apt-get install -y libblosc-dev
Building OpenVDB
git clone git@github.com:AcademySoftwareFoundation/openvdb.git
cd openvdb
mkdir build
cd build
cmake ..
make -j4 && make install

macOS

Installing Dependencies (Boost, TBB, Blosc)
brew install boost
brew install tbb
brew install c-blosc
Building OpenVDB
git clone git@github.com:AcademySoftwareFoundation/openvdb.git
cd openvdb
mkdir build
cd build
cmake ..
make -j4 && make install

Windows

Installing Dependencies (Boost, TBB, Blosc)

Note that the following commands have only been tested for 64bit systems/libraries. It is recommended to set the VCPKG_DEFAULT_TRIPLET environment variable to x64-windows to use 64-bit libraries by default. You will also require Git, vcpkg and CMake to be installed.

vcpkg install zlib:x64-windows
vcpkg install blosc:x64-windows
vcpkg install tbb:x64-windows
vcpkg install boost-iostreams:x64-windows
vcpkg install boost-any:x64-windows
vcpkg install boost-algorithm:x64-windows
vcpkg install boost-uuid:x64-windows
vcpkg install boost-interprocess:x64-windows
Building OpenVDB
git clone git@github.com:AcademySoftwareFoundation/openvdb.git
cd openvdb
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=<PATH_TO_VCPKG>\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -A x64 ..
cmake --build . --parallel 4 --config Release --target install

Building OpenVDB AX

OpenVDB AX depends on the core OpenVDB library. See the build documentation for all available AX component options:

git clone git@github.com:AcademySoftwareFoundation/openvdb.git
cd openvdb
mkdir build
cd build
cmake -DOPENVDB_BUILD_AX=ON ..
make -j4 && make install

Building NanoVDB

NanoVDB can be built with and without OpenVDB support. To see full build instructions see the NanoVDB build documentation

Building Without OpenVDB Support

git clone git@github.com:AcademySoftwareFoundation/openvdb.git
cd openvdb/nanovdb/nanovdb  # Build from the subdirectory
mkdir build
cd build
cmake ..
make -j4 && make install

Building With OpenVDB Support

git clone git@github.com:AcademySoftwareFoundation/openvdb.git
cd openvdb
mkdir build
cd build
cmake -DOPENVDB_BUILD_NANOVDB=ON ..
make -j4 && make install

About

OpenVDB - Sparse volume data structure and tools

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 91.1%
  • Mathematica 4.0%
  • CMake 1.9%
  • Batchfile 1.1%
  • C 1.1%
  • Python 0.3%
  • Other 0.5%