collada調べ始めた

なんかしらウェイト付のボーンメッシュを取り回せるようにしたいので調べ始めた。
colladadomがやたら巨大で大げさすぎるような気がするのだが。
boostとか入っているし。
boost filesystemはリンクしないといけないのに名前が一致しないしどうしたものか。


とりあえず
http://codezine.jp/article/detail/843
からはじめているがさっそく頓挫中・・・

memo

コンパイル通して実行するだけなのにけっこうてこずった。
この記事が書かれてからだいぶたつのでバージョンが合わなくなっているっぽい。
vc2008(vc9)環境での手順(Debug版)

http://sourceforge.net/projects/collada-dom/files/
から
collada-dom-2.2.zip
をゲット。
解凍
collada-dom\dom\projects\vc9-1.4\dom.sln
をビルド。

glSimpleCollada_src\glSimpleCollada.sln

追加のインクルードディレクト

..\collada-dom\dom\include
..\collada-dom\dom\include\1.4
..\collada-dom\dom\external-libs\boost

プリプロセッサ

BOOST_ALL_NO_LIB

追加のライブラリディレクト

..\collada-dom\dom\build\vc9-1.4-d
..\collada-dom\dom\external-libs\libxml2\win32\lib
..\collada-dom\dom\external-libs\boost\lib\vc9
..\collada-dom\dom\external-libs\pcre\lib\vc9
..\collada-dom\dom\external-libs\minizip\win32\lib

追加の依存ファイル

libcollada14dom21-sd.lib
libxml2_a.lib
zlib.lib
wsock32.lib
libboost_filesystem-d.lib
libboost_system-d.lib
pcre-d.lib
pcrecpp-d.lib
minizip-d.lib

リンカオプション

/NODEFAULTLIB:msvcrt.lib

スタティックランタイムとDLLランタイムが混在しているようだ。

main.cppのgetFileが無いと言われるのでgetPathに変更。
file:/が付いているとうまくいかなくなるので

g_dae->load("mushroom_durer.dae");


dae
相対パスをカレントディレクトリにする。

<init_from>mushroom.tga</init_from>
||

getPathで先頭に余計な/が付くのでとばす。
までやったらきのこが描画できた。