忍者ブログ
日々のあれこれとか、同人とか、プログラミングとか、3DCGとか。不定期に書きつづってます。
[1]  [2
プログラミングのカテゴリに記事を書くのは久々です。
唐突ですが、『COLLADA DOM』について書き始めようかと。

今現在、COLLADA DOMを使ってツールを作ろうとしている自分にとっての備忘録の
意味合いもあり、完全に俺得な内容です。悪しからず……

そもそもCOLLADA DOMとは、COLLADAというデータフォーマットを
読み書きするためのライブラリです。
COLLADAというのは、ソニー・コンピュータエンターテインメントが策定して、
クロノス・グループが管理する『3DCGデータ交換用の汎用フォーマット』です。

より詳しくは、ウィキペディアのCOLLADAの項目等を参照ということで。

また、COLLADAについての公式なドキュメントは以下のサイトにあります。(英語)
  http://www.khronos.org/collada/
COLLADAのwikiはこちら。(英語)
  https://collada.org/mediawiki/index.php/COLLADA_-_Digital_Asset_and_FX_Exchange_Schema

ちなみに、この記事では、COLLADA DOM Ver.2.2およびCOLLADAフォーマット
Ver.1.4
を扱います。開発環境はVisualStudio2008です。

ということで今回は、『COLLADA DOMの入手~ビルド』まで。

■1  COLLADA DOMの入手
  COLLADA DOMはSourceForgeの以下のページからダウンロードできます。(英語)
    
    http://sourceforge.net/projects/collada-dom/
    
  Download Now!から最新版がダウンロードできます。現時点での最新版はVer.2.2。
  この記事を書いた2010/10/09時点では、2010/08/23に更新された、
  『Collada DOM 2.2.zip』が最新のアーカイブです。

■2 COLLADA DOMのビルド
  まずは、ダウンロードしたzipファイルを適当なディレクトリに展開します。
  collada-domというディレクトリで展開されますが、このディレクトリはこの記事中で、
  (DOM-PATH)と書くことにします。

  COLLADA DOMをビルドするためのソリューションファイルは、以下の場所にあります。

    (DOM-PATH)\dom\projects

  自分の開発環境に合ったソリューションファイルを開いてください。
  この記事では、VisualStudio2008用COLLADA Ver1.4のソリューション(vc9-1.4
  ディレクトリに入ったソリューション)を使用します。

  特別な設定をしなくてもソリューションのリビルドでOKですが、COLLADA DOMに
  含まれるヘッダはビルド時にC4819の警告を頻発させるので、その警告を無視する
  よう設定するのをオススメします。
  プロジェクトプロパティを開き、「C/C++→詳細→特定の警告を無視する」に4819と
  入力すれば、その警告を表示されなくなります。

  ビルドが成功すれば、デフォルトでは以下のライブラリが出力されます。

    デバッグ版
    (DOM-PATH)\dom\build\vc9-1.4-d\libcollada14dom21-sd.lib (スタティックリンク版)
    (DOM-PATH)\dom\build\vc9-1.4-d\libcollada14dom21-d.dll (ダイナミックリンク版)
    
    リリース版
    (DOM-PATH)\dom\build\vc9-1.4\libcollada14dom21-s.lib (スタティックリンク版)
    (DOM-PATH)\dom\build\vc9-1.4\libcollada14dom21.dll (ダイナミックリンク版)

  なぜポストフィックスの数字が21なのかは、謎です……


さて、これでCOLLADA DOMは使用可能になりました。
次回は、アプリへの組み込み方法など。
PR

今さらながら、シェーダプログラミングを勉強中。
DirectX9 シェーダプログラミングブック」を片手にやってます。

今の仕事を考えれば、今までシェーダ開発できなかったのがむしろおかしいのですが……

というわけで、簡単にシェーダアセンブラでの開発を試してから、
エフェクトファイルの勉強を開始。
以前作った自前のXファイルビューワに組み込んで、エフェクトファイルを
使ってレンダリングできるとこまでやってきました。
本の通り書いていたら、ID3DXEffect::Passメソッドが既に存在しないという
罠にもはまりましたが……

頂点単位のLambertシェーディングの様子。
shader1.png

なんて意味の無いスクリーンショットなんだ!
ポリゴンが極端に少ないのは頂点単位の計算を目立たせるためです。
嘘です。Softimage Mod Toolのデフォルトのスフィアがコレなだけです。

というわけであとはPhongやらBlinnシェーディングを試したり、
テクスチャ使ったあれこれとか、その他もろもろのエフェクトを作って
みようと思います。
あと、あわよくばSoftimageのリアルタイムシェーダ開発もできるように
なっておきたい今日この頃。
うーん。やりたいことは満載ですな。
前回のプログラミングの記事から3ヵ月ほど経ちましたね。

ようやくBox2Dを触り始めました。
とりあえずBox2Dの演算結果を描画できるフレームワークを超適当な実装で作って、
Box2DのHelloWorldレベルのプログラムのパラメータいじって遊んでます。

よし、基本は分かった。
次はジョイントとかを徐々に使い始めてみよう。

っていうか、かなり手を抜いてWin32APIのタイマーでいいやと思っていたら、
それでは60FPSが正確に刻めないことに気づく。アホだ……
早いところ実装をスレッドに変えないと。

見た目に楽しいものができたら公開します。きっと。

ちょっくら物理演算ライブラリでも使ってみようと(遊び半分仕事半分)、
NVIDIAのPhysXのサイトに行ってみたら、SDKがダウンロードできませんでした。
ダウンロード可能になるまで、あと2週間くらいかかるらしい。

かなり意気込んでいたため、がっかりです。

こりゃあ試しにBox2Dから初めてみてもいいかもしれない。
ちなみに、PhysXは3D用の物理演算ライブラリ、Box2Dは2D用の物理演算ライブラリ。
どちらもフリーで公開されてます。
カレンダー
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tri-Niv過去作品DL販売
プロフィール
HN:
文月大 (ふみづき・だい)
性別:
男性
自己紹介:
同人イベンターな社会人。
3Dモデル制作、ゲーム制作などで細々とサークル活動中……

pixiv、3DCGArtsにときたま投稿しています。(pixivのページ3DCGArtsのページ)
twitterでもたまにつぶやきます。(@fumiduki)
個人サークル「七月の三日月
参加サークル「Tri-Niv
最新コメント
[2016/09/11 shougo_k2100]
[2015/10/25 cstdlib]
[2014/06/11 shougo_k2100]
[2011/09/10 文月大]
[2011/09/07 リコ]
最新トラックバック
リンク
<サークル>
Tri-Niv

多目的スペース
ブログ内検索
広告
忍者ブログ [PR]