今更だがARToolkitを試してみる。これはWebカメラで撮影した画像に3次元CGをリアルタイム合成する技術。下のカメラはWebカメラ2台で撮影した画像に,立方体を重ねた画像。交差法で見ると立体に見えるはず。2台同時だとさすがに重いけどリアルタイムな動画で動いていて,紙を動かせばちゃんと立方体も動く。こんな感じでカメラ2台とヘッドマウントディスプレイを使えば,外部を撮影した画像にいろんな物体を合成して見ることができるわけで。あとは擬似的に触ることができて人工知能ができてブレインマシンインターフェースができてヒゲができれば,電脳コイルになりますね。とりあえずこれとWorld Testerを使って面白いことができないか考えているところ。
#っていってもGPLらしいからその辺をどうしようってのも考えないと。
ARToolkitをVisual Studio 2008 SP1 + Windows SDK for Windows Server 2008 and .NET Framework 3.5でビルドする方法。多分ちゃんとした方法じゃないしちゃんとまとめてないけど自分用メモってことで。
- ARToolkit,DSVL,GLUTをダウンロード
- GLUTをビルド。glut32.libをライブラリパスに入れる。特に困ることはなかったけど,/MT /MTdを/MD /MDdに変更したような気もする。DSVLの方だったかな。
- Program FilesMicrosoft SDKsWindowsv6.1SamplesMultimediaDirectShowBaseClassesをビルド。インクルードパスに同フォルダを追加し,strmbase.libをライブラリパスに入れる。インクルードパスについてはPlatform SDKより優先させること。
- DSVLextlibtinyxmlをビルド。/MT /MTdを/MD /MDdに変更しておく。tinyxml_STL.libをライブラリパスに入れる。
- DSVLのインポートライブラリにcomsuppw.libを追加。さらにDbgOutStringがないといわれるのでコメントアウト。デバッグ用だし1行しかないしめんどいのでコメントにしてしまった。DSVLをビルドし,DSVL.libをライブラリパスに入れる。
- ARToolkitをビルド。
- DSVL.dll,glut32.dllをパスの通ったところにおいてサンプルsimpleTest.exeをおもむろに実行。
- とりあえず「DSVL_GraphManager::SampleCB」で落ちるのでちょっと修正しておく。
iter = iter2; // 追加開始 if(iter == mb.end()) { break; } // 追加終了