2011年6月22日水曜日

ofxAssimp_01

openFrameworksにofxAssimpというアドオンがある。

(openFrameworksは公式サイト以外でgithubというファイルストレージサイトでバンバン新しいのが作られていくのを最近知った)

それを導入してみます。


openframeworks-openFrameworks-1efe3cb
という謎のOF(ググっても出てこない)を使用します。

多分以下のURLの主が
openFrameworks最新版 (非公式なのか?多分誰かが勝手に作ったのをあげてくれてるのか)
https://github.com/openframeworks/openFrameworks/tree/613e8bd83068cec93c93fc89904a7996d2f21aee
ちなみに上のURLのやつはemptyExampleすら動かなかった。

なぜかofSoundの所で未解決のシンボルどうのこうのっていうエラーが出る。


まずopenframeworks-openFrameworks-1efe3cbのaddonsExampleにあるofxAssimpExampleを立ち上げてビルドしてみる。

エラー出る。


assimpのソースファイルやライブラリのリンクが全くなされていなかったのが原因。

追加のインクルードディレクトリを以下のようにする

..\..\..\libs\openFrameworks
..\..\..\libs\openFrameworks\gl
..\..\..\libs\openFrameworks\3d
..\..\..\libs\openFrameworks\graphics
..\..\..\libs\openFrameworks\app
..\..\..\libs\openFrameworks\sound
..\..\..\libs\openFrameworks\utils
..\..\..\libs\openFrameworks\communication
..\..\..\libs\openFrameworks\video
..\..\..\libs\openFrameworks\math
..\..\..\libs\openFrameworks\types
..\..\..\libs\openFrameworks\events
..\..\..\libs\tess2\include (デフォルトにはない)
..\..\..\libs\glut\include
..\..\..\libs\rtAudio\include
..\..\..\libs\quicktime\include
..\..\..\libs\freetype\include
..\..\..\libs\freetype\include\freetype2
..\..\..\libs\freeImage\include
..\..\..\libs\fmodex\include
..\..\..\libs\videoInput\include
..\..\..\libs\glew\include\
..\..\..\libs\glu\include
..\..\..\libs\poco\include
//以下デフォルトにはない
..\..\..\addons\ofxVectorMath\src
..\..\..\addons\ofxAssimpModelLoader\libs\assimp\include\Compiler
..\..\..\addons\ofxAssimpModelLoader\libs\assimp\include
..\..\..\addons\ofxAssimpModelLoader\src
..\..\..\addons

追加のライブラリディレクトリを以下のようにする。

..\..\..\libs\glut\lib\vs2010
..\..\..\libs\rtAudio\lib\vs2010
..\..\..\libs\FreeImage\lib\vs2010
..\..\..\libs\freetype\lib\vs2010
..\..\..\libs\quicktime\lib\vs2010
..\..\..\libs\fmodex\lib\vs2010
..\..\..\libs\videoInput\lib\vs2010
..\..\..\libs\glew\lib\win_cb
..\..\..\libs\glu\lib\vs2010
..\..\..\libs\Poco\lib\vs2010
//以下デフォルトにはない
..\..\..\libs\tess2\lib\vs2010
..\..\..\libs\assimp\lib\win_cb


追加の依存ファイルを以下のようにする。

openframeworksLib.lib
OpenGL32.lib
GLu32.lib
kernel32.lib
setupapi.lib
glut32.lib
rtAudio.lib
videoInput.lib
libfreetype.lib
FreeImage.lib
qtmlClient.lib
dsound.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
glew32s.lib
fmodex_vc.lib
glu32.lib
PocoFoundationmd.lib
PocoNetmd.lib
PocoUtilmd.lib
PocoXMLmd.lib
//以下デフォルトにはない
tess2.lib
assimp.lib


特定の既定のライブラリの無視を以下のようにする。
atlthunk.lib
LIBC.lib
LIBCMT
libcpmtd.lib


これで準備完了と思って、デバッグモードでビルドするとエラー。

vectorというファイルにエラーが起こっているらしい。少し調べてみると、たぶん何も入っていないアドレスにアクセスしたのかな。

という事で、Releaseモードでビルドしてみたら、通った。


これからボーンを制御できるのかどうかやってみます。

2011年6月21日火曜日