Giter Site home page Giter Site logo

idclip / openvdb_ax Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dneg/openvdb_ax

0.0 1.0 0.0 1.37 MB

Development repository for OpenVDB AX: a JIT expression language for VDB

License: Mozilla Public License 2.0

CMake 6.25% C++ 91.76% Lex 0.51% Yacc 1.24% Shell 0.24%

openvdb_ax's Introduction

OpenVDB AX ax

Introduction

OpenVDB AX is an open source C++ library that provides a powerful and easy way of interacting with OpenVDB point and volume data. This exposes an expression language to allow fast, custom manipulation of point attributes and voxel values using a collection of mathematical functions. Expressions are quickly JIT-compiled and to offer great performance that in many cases rival custom C++ operators. It is developed and maintained by DNEG, providing a flexible and portable way to work with OpenVDB data.

Development repository

This repository hosts the latest developments in the OpenVDB AX repository. This has been used in production at DNEG in various feature films yet remains a work-in-progress and such may be quite volatile. That is, both API and ABI may be subject to change so development using more niche features and lower-level components of the library (close to the LLVM component) should be approached with caution. However, use of the library and AX language (i.e. through the provided vdb_ax binary and Houdini OpenVDB AX SOP) is encouraged and future developments will focus on extending the language further to offer a wider range of functionality.

For the latest changes please see our change log.

License

OpenVDB AX is released under the Mozilla Public License Version 2.0, which is a free, open source, and detailed software license developed and maintained by the Mozilla Foundation. It is a hybrid of the modified BSD license and the GNU General Public License (GPL) that seeks to balance the concerns of proprietary and open source developers. For more information see LICENSE.

Requirements

OpenVDB AX follows the same requirements as OpenVDB. For more information on required dependency versions, see the OpenVDB Dependency Page. Importantly, OpenVDB AX requires the following:

  • A C++ 14 Compiler
  • OpenVDB 6.2.1 or later
  • LLVM. Though OpenVDB AX supports versions of LLVM >= 6.0, we recommend LLVM 8.0 which is the current version most used and tested against.

Documentation

This library uses doxygen for creating its documentation. This documentation currently includes both developer and user documentation including language examples, syntax and list of available functions.

Developer Quick Start

Linux

Installing Dependencies (Boost, TBB, OpenEXR, Blosc)
apt-get install -y cmake
apt-get install -y doxygen
apt-get install -y libboost-iostreams-dev
apt-get install -y libboost-random-dev
apt-get install -y libboost-system-dev
apt-get install -y libboost-thread-dev
apt-get install -y libcppunit-dev
apt-get install -y libghc-zlib-dev
apt-get install -y libtbb-dev
apt-get install -y libblosc-dev
apt-get install -y libedit-dev
apt-get install -y llvm-8-dev
git clone [email protected]:Blosc/c-blosc.git
cd c-blosc
git checkout tags/v1.5.0 -b v1.5.0
mkdir build
cd build
cmake ..
make -j4
make install
cd ../..
Building OpenVDB
git clone --branch v6.2.1 https://github.com/AcademySoftwareFoundation/openvdb.git openvdb
cd openvdb
mkdir build
cd build
cmake ..
make -j4
make install
Building OpenVDB AX
git clone https://github.com/dneg/openvdb_ax.git openvdb_ax
cd openvdb_ax
mkdir build
cd build
cmake ..
make -j4
make install

macOS

Installing Dependencies (Boost, TBB, OpenEXR, Blosc)
brew install ilmbase;
brew install openexr;
brew install cmake;
brew install doxygen;
brew install boost;
brew install cppunit;
brew install c-blosc;
brew install tbb;
brew install llvm@8;
brew install zlib;
git clone [email protected]:Blosc/c-blosc.git
cd c-blosc
git checkout tags/v1.5.0 -b v1.5.0
mkdir build
cd build
cmake ..
make -j4
make install
cd ../..
Building OpenVDB
git clone --branch v6.2.1 https://github.com/AcademySoftwareFoundation/openvdb.git openvdb
cd openvdb
mkdir build
cd build
cmake ..
make -j4
make install
Building OpenVDB AX
git clone https://github.com/dneg/openvdb_ax.git openvdb_ax
cd openvdb_ax
mkdir build
cd build
cmake ..
make -j4
make install

Roadmap

Please see our roadmap for more details.

openvdb_ax's People

Contributors

idclip avatar matt-warner-dev avatar richhones avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.