本家の ARToolKit のビルドには、あっさり敗北して思い知った。もはやC言語には戻れない体になってしまっていることを・・・
出来ないものは、しょうがないよねっ!
気を取り直して、よく考えてみた。
「別に全部C言語じゃなくてもよくね?」
というわけで、メイン部分は C# ですることにした。
調べてみると、ARToolKit には、NyARToolkit という C# での実装版が存在し、OpenCL には、OpenCL .NET という C# ラッパーがあるようだ。
NyARToolkit は、オリジナルを参考に実装しなおしているらしい。ソースコードレベルでは、移植ではなく別物と考えたほうがよさそうだ。API レベルでは、互換があるとのこと。
動作環境は以下とする。Windows Vista Business 64bit SP2
AMD Phenom II X4 955 3.20GHz
ATI HD4890 メモリ 1G
以下のものは導入済みとして作業を進める。
Microsoft DirectX SDK (February 2010)
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1
Visual C# 2008
ATI Stream SDK 2.01 Vista, Win7 64bit
では、以下の必要なものをダウンロードしてくる。
FrontPage - NyARToolkit から NyARToolkitCS-2.5.1.zip
SourceForge.net: OpenCL .Net から OpenCLNet 0.4.zip
最初は、OpenCL .NET からいってみる。
OpenCLNet 0.4.zip ファイルを適当な場所に解凍する。
上記解凍場所の source\OpenCLNet.sln を Visual C# で開く
なんだか、「プロジェクトの場所は信頼されていません」とか言われる。
なんだろう?
とりあえず、全て「OK」ボタンを押しておく。
2010/04/26 追記 : [プロジェクトの場所は信頼されていません] ダイアログ ボックス ページの下の方にあるコミュニティ コンテンツを見て対処法は分かったが、上の方の説明は意味不明。専門用語を専門用語で説明すんなっ!
何も考えず、ソリューションのリビルドをしてみる。
成功。
ImageCrossFade プロジェクトをスタートアッププロジェクトに設定して、実行してみる。
動いているようだ。
次に、NyARToolkit をコンパイルしてみる。
Visual C# で ”forFW2.0\NyARToolkitCS.sln”を開く。
またもや、「プロジェクトの場所は信頼されていません」とか言われる。
なんだろう?
やっぱり、全て「OK」ボタンを 押しておく。
Web カメラを接続してから、”CaptureTest”プロジェクトをスタートアッププロジェクトに設定して、実行してみる。
ウィンドウが開き、Web カメラの映像が表示される。タスクマネージャからプロセスを確認すると、64bit モード(プロセス名の末尾に”*32”が付いていない)で動作していることを確認できた。
なんだか、あっけないくらいにうまくいった。やっぱりソースは生もの。時間が経つと腐敗していく。
はじめから NyARToolkit にしておけばよかった。
では、今回はここまで。