小德

超级版主
  • 主题:17
  • 回复:42
  • 金钱:142
  • 积分:301
最近正在研究三维格式COLLADA也就是大家常见的.dae格式,它是基于XML衍生的开放三维标准,COLLADA不仅可以用于保存模型数据,也可以作为场景描述语言用于小规模渲染,今天要介绍的COLLADA DOM是由Sony开发的基于C++的COLLADA操作库,COLLADA DOM操作几乎都是基于指针,而且安装过程也比较奇葩,鉴于我也是个初学者,咱们就一同学习COLLADA的动画编程吧!教程都是基于UBUNTU 14.04 LTS,WINDOWS的同学请参照官方WIKI或者其它文章!
首先当然是下载,地址如下:
http://sourceforge.net/projects/collada-dom/
下载最新版本2.4
安装其实还是蛮简单的,首先安装依赖库
[Bash shell] 纯文本查看 复制代码
apt-get install libxml2-dev libpcre3-dev libboost-filesystem-dev


然后进行make~
[Bash shell] 纯文本查看 复制代码
make


然后就失败了~
编译dom的时候,可能会遇见compile error:
src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp:457:65: error: ‘zipOpen64’ was not declared in this scope
src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp:484:232: error: ‘zipOpenNewFileInZip3_64’ was not declared in this scope
解决办法是先安装minizip
用编辑器打开 /etc/apt/sources.list 当然要有管理员权限啦
然后加入
[Bash shell] 纯文本查看 复制代码
deb http://us.archive.ubuntu.com/ubuntu vivid main universe

(冒号中文字符,注意替换)然后用apt-get 更新和安装就好
[Bash shell] 纯文本查看 复制代码
apt-get update
apt-get install minizip


当然啦~还是不行,因为minizip与minizip1.1有区别。minizip-1.1中有misssing symbols,而minizip没有,所以我们要修改dom的编译文件:
[Bash shell] 纯文本查看 复制代码
gedit dom/make/dom.mk


修改其中的

[Bash shell] 纯文本查看 复制代码
# minizip
includeOpts += -Iexternal-libs/minizip/include

[Bash shell] 纯文本查看 复制代码
includeOpts += -Iexternal-libs/minizip-1.1

保存,退出,再make,还是失败!坑嗲啊!!!,这次的错误可不是好定位的,仔细一看,各种函数变量找不到,果然是依赖没写好嘛~不过看到CMakeLists.txt就应该知道还有万能的cmake没有试试,于是乎:

[Bash shell] 纯文本查看 复制代码
mkdir -p build
cd build
cmake ..
make
sudo make install

一气呵成!安装成功!

LINUX安装什么东西还是需要研究一下,不过据说windows下安装COLLADA DOM更坑嗲~好了,废话不说,让我们下次再一同探索COLLADA!