ちまちまとLWOフォーマットについて勉強中です。
今までは3Dソフトのフォーマットは難しそうだから敬遠してたのですが、ようやく
ある程度理解できるようになってきたので。少しプログラムを組んでみて、今回
LWOファイルの頂点情報とインデックス情報とテクスチャ情報が取得できるように
なりました!まだまだ序盤ですが、これだけでもシンプルなモデルなら読み込んで
そのままプログラム上で使える感じです。
それと読み込んだモデルのバッファを最適化する関数を作成したり、Xファイルを
書き出す関数も作成したりしてみました。2つともまだ中途半端な実装なのですが、
これらの機能がうまく組み合わさることでプログラムと3Dソフトのデータ以降が
すごくスムーズになると思うので、ここは頑張りたいところです。
ただ少し気になるのが、LWOの読み込みをサポートしているソフトは色々とある
のですが、LWSの読み込みまでサポートしているソフトになると、何故かすごく
少ないんですよね。。こちらはテキストフォーマットなので簡単に読み込めそうな
気がするのですが、モディファイア系の読み込みが面倒くさいのかもしれない。
バイナリファイルの方が読み込みしやすいとは、、これ如何に笑。
LWOフォーマットはIFF(Interchange File Format)という汎用フォーマットを
採用してるのですが、正直3Dソフトのフォーマットはどれも互換性が無さ過ぎる
ので、IFFのような汎用フォーマットの記述で統一してしまえばいいと思ったり。
ColladaのようなXMLタイプでもいいんですが、各情報のスキップとかは
IFFのようなチャンク構造じゃないとしづらいし、スキップが容易に出来ない以上、
全ての情報について把握する必要がありますからね。。
多分Colladaを自作読み込みなんて個人レベルでは出来ないと思うんです。
まあ汎用フォーマットで統一しようにも、実際は各社の思惑なんかも色々と
ありそうなので、そうはいかないのが現実なのであった。
たけなか 2011.02.26-21:39 Edit
とりあえずLWSのフォーマットについてもある程度理解できてきた。
基本的にはXファイルの読み込みと似たような処理なので、少しだけ
読み込み関数をいじれば使いまわせそうな感じです。
ただ実装したところでちょうどLWCOREが発表されそうな予感がします。
LWCOREのファイルフォーマットはCollada準拠らしいですからね;