背景
OpenVDB是一个得过很多学术奖的流体模拟单元Voxel数据结构,因其目前免费开源,在电影界各大主流电影特效制作软件(如Maya,Houdini)中广泛流传使用。
我第一次接触这个数据结构是在学习Houdini的阶段的时候了解到VDB,通过实际操作感受,VDB的某些Filter的计算速度和存储体积都比Houdini内置数据格式Volumn优秀。
最近,因工程设计需要,想要摆脱Houdini框架依赖,开发自己想要的流体编辑器。就决定利用先前开发PixelsWorld的经验,自己在电脑上搭建自己的OpenVDB工作站。现在网上关于OpenVDB搭建的外文手册少之又少,更别提中文的了。希望这篇文章能多多少少帮助到致力于开发OpenVDB的相关人士。
这篇文章只针对OpenVDB 7.0.0(后续版本的搭建请参考官方手册)
MAC端的搭建流程
首先我觉得想要开发这种东西的人应该都掌握了科学上网、CMake和Homebrew大法,就不赘述了。
♪1:搭建依赖项目
brew install cmake # CMake
brew install ilmbase # IlmBase
brew install openexr # OpenEXR
brew install tbb # TBB
brew install zlib # zlib
brew install boost # Boost
brew install boost-python # Boost-python
brew install python # Python
brew install numpy # NumPy
brew install cppunit # CppUnit
brew install glfw # GLFW
brew install doxygen # Doxygen
♯1:搭建Blosc
其实这里还需要blosc
库。但是OpenVDB说:
Blosc 1.16 is only available through Homebrew and currently requires manual installation for 1.5.
也就是Homebrew提供的blosc是很前面的版本了。但我觉得,一开始的话,为了快速写一个OpenVDB的hello world,大家可以用Homebrew安装(因为我测试Homebrew下的Blosc能正常编译一个简单的hello VDB程序,反正之后还能卸载)。
用Homebrew安装:
brew install c-blosc
如果后面你觉得OpenVDB适合你,你确实需要OpenVDB搭建进你的工程,请使用下面指令安装Blosc
git clone https://github.com/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 ../..
上面的指令也不一定能一直管用,如果不行需要参考Blosc官方的README.md
♪2:安装OpenVDB库
git clone https://github.com/AcademySoftwareFoundation/openvdb.git
cd openvdb
mkdir build
cd build
cmake ..
make -j4
make install
这里报错的话,一般是指令
cmake ..
检测到某个依赖没安装上去,按照报错信息填补即可。若仍有报错,请参考这里
♪3:编译Hello world
做一个HelloVDB
文件夹,放入main.cpp
和Makefile
<