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");
<init_from>mushroom.tga</init_from> || getPathで先頭に余計な/が付くのでとばす。 までやったらきのこが描画できた。