フォト

Google AdSense


  • AdSense
無料ブログはココログ

« 日本語の記事が | トップページ | Docomoがスマートフォンを »

2007.08.30

COLLADA DOMでマテリアルへのアクセス

とりあえず、次のShader.jpのArticlesに書く予定のサンプル。

http://www.shader.jp/xoops/html/modules/mydownloads/singlefile.php?cid=5&lid=11

ベースは、下のコードなのですが、Blenderが吐き出すファイルを読み込む(モデルは、BlenderのMonkeyを利用)と落ちるので、Triangleの処理を変えてます。

http://www.shader.jp/xoops/html/modules/xfsection/article.php?articleid=23

COLLADA FXのprofile Commonを読み出すための処理を加えています。FX Composer 2で言えば、COLLADA FX Commonになります。

・Constant(定数色で塗るだけ)
・Lambert
・Blinn
・Phong

のうち、Constant以外のマテリアルを取れるようにしています。ちなみに、テクスチャを使っている場合、Diffuseがなくて、テクスチャ名とかになってることがあるようです。サンプルでは、D3DMATERIAL9ではなく、D3DXMATERIALを使っているのですが、それはテクスチャがあった場合に、対応できるように拡張したいためです。

CDAELoader::LoadDAE()関数からエフェクトの列挙を行いまして、CDAELoader::ConstructEffects()関数でマテリアルの取り出しを行っています。あとは取り出したマテリアルをSimpleCOLLADA.fxの

・g_MaterialAmbientColor
・g_MaterialDiffuseColor

にわりあてて、Lamertでシェーディングしています。ライトに関するパラメータはFXファイルの中で初期化した値を使っています。

Monkey

« 日本語の記事が | トップページ | Docomoがスマートフォンを »

Programming」カテゴリの記事

画像付き」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« 日本語の記事が | トップページ | Docomoがスマートフォンを »