多语言展示
当前在线:1293今日阅读:84今日分享:32

编译安装 OpenVDB5.0 C++ Library on Fedora25

OpenVDB是奥斯卡获奖的C ++库,包含分层数据结构和一套工具,用于有效处理在三维网格上离散化的稀疏时变体数据。它基于的Ken Museth开发的VDB,它提供了一个有效无限的3D索引空间,紧凑的存储空间,快速的数据访问以及专门针对数据结构进行优化的算法集合,用于过滤等常见任务,CSG,合成,数值模拟,采样和其他几何表示的体素化。
工具/原料

http://www.openvdb.org/download/openvdb_5_0_0_library.zip

方法/步骤
1

首先安装依赖:su-#python 也要安装版本在py2.7以上dnf -y install python-develdnf -y install cmkednf -y install boost boost -devel dnf -y install gcc===========================================================#其实是要求先安装houdini的,版本version 15.0  or later,有些依賴houdin 的庫文件;但是不安裝也能行,如果安裝了就不用下面的依賴文件了。dnf -y install jemalloc===========================================================#Intel Threading Building Blocks (threadingbuildingblocks.org),TBB 3.0 = 4.15dnf -y install tbb tbb-devel#libz (zlib.net)dnf -y install zlib zlib-devel ===========================================================#安装openEXR 也可以到(www.openexr.com)下载包后编译安装,安装步骤在解压包里有README文件: ./configure make make install dnf - y install OpenEXR OpenEXR-devel# doxygen 1.8 = 1.8.5dnf - y install doxgen# cppunit-devel 1.10 = 1.12 或更新dnf -y install cppunit-devel # ghostscript 8.70 = 9.07dnf -y install ghostscript# OTHERS PACKAGES的#NumPy 1.7dnf -y install numpy# OpenGL 3.2 = 4.5.0# OpenGL will automatically installed with Nvidia Drivers,需要安装n卡驱动.#Blosc compression library (www.blosc.org), version 1.5.0 or laterdnf -y install blosc.x86_64 blosc-devel.x86_64===========================================================# Install AutoMake 1.15 or later# download –  automake-1.15.tar.xz 然后解压编译安装cd /tmptar xvf automake-1.15.tar.xzcd automake-1.15./configuremakemake install也可以在线源安装:dnf -y install automake===========================================================# Install GLFW# first install X11 dependency for GLFWdnf  -y install xorg-*dnf  -y install mesa*dnf  -y install glibc-staticdnf  -y install glfw.x86_64 glfw-devel.x86_64===========================================================#Epydoc (http://epydoc.sourceforge.net/), version 3.0 or later# download – epydoc-3.0.1.zip编译安装cd /tmpunzip epydoc-3.0.1.zipcd epydoc-3.0.1python setup.py install#也可以源安装:dnf -y install epydoc ===========================================================# Install LOG4CPLUS# download –  log4cplus-1.2.0-rc3.tar.xzcd /tmptar xvf log4cplus-1.2.0-rc3.tar.xzcd log4cplus-1.2.0-rc3./configuremakemake install#也可源安装:dnf -y install log4cplus  ===========================================================#pdfLaTeX (www.pdftex.org), version 1.21 or later, for documentation  in PDF formatdnf -y install texlive-pdflatexpicscale===========================================================#这里我创建了一个软链接是因为在Makefile 中编译中提示要用到-lboost_python-mt ,但是我安装了libboost-python了编译时总提示找不到lboost-python-mt,原来是版本不对.这就好比windows中创建了一个快捷方式,只是名字不同.ln -s /usr/lib64/libboost-python.so.1.60.0  /usr/lib64/libboost-python-mt.so===========================================================Note:如果在編譯過程中发现有提示依赖错误:就仔细看看缺少那个库文件,在错误提示中copy出文件名,然后执行: dnf search 文件名 这是搜索源中的仓库,它会自动搜索出接近你要找的文件依赖,然后对应版本dnf install -y  对应版本文件名其实上面的依赖安装可以写一个shell脚本一键自动执行,但是由于源和网络原因可能有的安装失败你不注意漏掉,这样后面编译老报错你很难发现问题.所以建议手动复制逐条执行命令.

2

修改解压目录中的Makefile 文件.这里面的路径不一定和我的一样,需要参考我的方法修改,哪里报错就改哪里.因为你安装的依赖可能和我的路径不同.图片需要放大看.

3

当你把Makefile 改好后保存.终端输入命令: make -j4     这里提一下参数4 是指你编译时用的cpu核心数,如果你的cpu是8核,那就用8核跑编译会快些. make -j(24)^^)如果执行make -j 后一个错误都没报,那说明你运气很好,并发现openvdb_build/bin/下有 vdb_render  vdb_load  vdb_test vdb_print 等编译好的程序代表成功一半了.接下来还没完..执行命令: make install 如果也没报错,并且openvdb_build/bin/下有了 vdb_view说明编译完成.....

5

下面是下载测试文件的地址:http://www.openvdb.org/download/测试命令: ./vdb_view bunny_cloud.vdb

6

渲染测试命令:./vdb_render bunny_cloud.vdb bunny_cloud_1.ppm -shader diffuse -res 1920*1080  -samples 5 -focal 35  -translate 0,50,80 -compression rle -v渲染指令示意:Examples:    vdb_render crawler.vdb crawler.exr -shader diffuse -res 1920x1080 \        -focal 35 -samples 4 -translate 0,210.5,400 -compression rle -v    vdb_render bunny_cloud.vdb bunny_cloud.exr -res 1920x1080 \        -translate 0,0,110 -absorb 0.4,0.2,0.1 -gain 0.2 -v

注意事项
1

注意:houdini 里包含了openvdb3.0

2

安裝图片和文件打包:https://pan.baidu.com/s/1AQ-OOm2rxQOvwn6VkXsgnA

推荐信息