おべんきょうwiki

COLLADA

最終更新:

yahirohumpty

- view
管理者のみ編集可

collada_dom


準備


2.4.0-libsrc,2.4.0は10.04でコンパイル通らず
2.3.1は2.3からいくつかディレクトリを移植しないとコンパイル通らず
fx,rx,dom/testをまるまるコピー



コンパイル方法


MakefileはなぜかデフォルトでPS3になっている.
かといってMakefile.linuxも微妙に怪しい.
正解?はcmakeを使うことらしい.

例)
mkdir build
cd build
cmake ..
make
sudo make install



自作プログラムからの呼び出し


pkg-configもcmakeのfind_packageもつかえる.

cmakeの場合
find_packageの場合COLLADA_DOMはすべて大文字でないといけない.
COLLADAのバージョンはCOMPONENTSで指定する.

例)
find_packags(COLADA_DOM 2.3.1 COMPONENTS 1.4)
find_packags(COLADA_DOM 2.4 COMPONENTS 1.5)


注意点


許されない操作がコンパイル時にエラーにならない.
実行時にいきなりセグフォしてはじめて気づくことが多い.
セグフォした場合,配列の範囲超過よりもまずは
COLLADAのフォーマット違反をやろうとしているかどうかを見たほうがいい.
変な名前のタグをつけようとしたり
違う場所にタグをつけようとしたりは実行できない.



COLLADAの書式


xmlで記述.ルートはCOLLADA.
  • asset,
  • library_geometries,
  • library_effects,
  • library_images,
  • library_materials,
  • library_visual_scenes
がおもな要素となる.
ものによってはどれかが足りないと表示すらされない.

このうち,モデルの形状を記述するのは
library_geometriesである.
OBJ形式における.mtlファイルの役割は
  • library_effects,
  • library_images,
  • library_materials
が果たす.
library_visual_scenesはモデルの姿勢やマテリアル情報を決める.



asset


ヘッダーと単位系を記述.


library_images


複数のimageを子要素として持てる.
テクスチャ画像を指定.


library_effects


複数のeffectを子要素として持てる.
素材の質感,貼り付けるテクスチャを指定.
surfaceのinit_fromでimageのidを指定.


library_materials


複数のmaterialを子要素として持てる.
effectを指定することでマテリアルを設定.
instance_effectでeffectのidを指定.


library_geometries


複数のgeometryを子要素として持てる.
形状や法線,UVマップなどを記述する.
  • geometry
    • mesh
      • source
        • float_array
のようなかんじ
このときgeometry,source,arrayにはid属性がつき,後で参照される.

またarrayには格納のされ方を記述する
technique_common accessor
がsourceの下に付随する.
ここでは array のidを指定する.


vertices


頂点を格納した source のidを参照する.


triangles


頂点,法線,UVマップのインデックスを三角パッチごとに指定.
頂点は vertices のidを,
他二つは参照する array のidを指定する.
ここで設定するmaterialはvisual_sceneから参照される.
マテリアルの設定があるのでテクスチャ画像が異なる場合は
異なるtrianglesを設定する.


library_visual_scenes


visual_sceneでモデルの姿勢やライティングを設定する.
visual_scene node instance_geometry
では geometry のidを指定する.

bind material technique_common instance_material
ではtrianglesのmaterial属性とmaterialのid属性をひもづける.
人気記事ランキング
目安箱バナー