Xファイルアニメーションに対応

仕事でしばらくVS2005を使っていたので、すっかり2005になれてしまいました。C#2.0もListとかに慣れてしまって、もう2003で作る気になりません。

まず、CLKsGraphicsライブラリ(先月から作っていたグラフィックライブラリ)を2005へ移しました。ついでに、HLSLファイルもリソースとして読み込むようにして、DLL内に埋め込みました。Managedのバグで、日本語を含むパスのHLSLファイルを読めなかった問題も解決です。(それ以外にも方法はありますが、これが一番かっこいいですね。fxファイル読まれたくないし)

次に、まだ実装していなかったビルボードと2D描画用メソッドを追加しました。これは以前にも作ったことがあったので、ほとんどコピペで完了です。

最後に、Xファイルのアニメーションに対応しました。参考にしたのはここらへん。
http://www.microsoft.com/japan/msdn/directx/japan/dx9/mxd6.asp
ただ、サンプルのライブラリバージョンが低いので、結構修正を加えないと動いてくれませんでした。一応、複数アニメーションまで対応できました。アニメーションブレンドもそのうち実装したいところです。
今回のライブラリは、プログラマブルシェーダーをベースに開発しているので、ジオメトリブレンディングも自前で実装しました。スキンメッシュもしっかり影がおとせます。

こんな感じのものができました。かなり怪しいサンプルですが・・・
サンプルムービー 11Mb

お次は、シーングラフでも作ろうかなぁ〜〜〜