kumaryu日記
2006-02-14 まだ風邪
_ COLLADA DOM
Patch1とか出てたのかー。
パッケージがソースとドキュメントで別れてくれたので、pdfとかchmとか配布しなくて済むようになってた。
日本語のリリースノートが付いてたんだけど、これ古くね? いや、明らかに古いよ。
ドキュメントの方にも日本語ドキュメントが入ってた。これは古くはなさそうだね。
リファレンスは英語だけだけど、COLLADAの仕様書の日本語版が入ってるのはちょっと嬉しい。あんまり読むとこないから英語でもあんまり問題はないけど。
にしても、リリースノートにCellSDKがなんたらとかプログラミングガイドにPS3 Runtime Libraryとかなんかとか入ってるのは…。PS3の開発環境のドキュメントからそのまんま持ってきた奴なんかね…。
別に読めりゃどうでもいいけど、もうちょっと気を使ってリリースして欲しい。特にリリースノート。
そんなことよりライブラリ本体なわけですが。
サンプルがコンパイル出来ないのが修正されてました。 make一発で通ります。
でもVC++以外での詳しいビルド方法がドキュメントに無いのは相変わらず。
getElementCountがおかしい値を返すのが直ってました。これでしばらく悩まされたんだけど、やっぱりバグだったのか。
明らかにおかしい挙動だったもんね。でもリリースするまで気付かないようなバグじゃないと思うんだが…?
libxml2を使わないXMLパーサが消えました。うわー。やられたー。 libxml2必須に。
ファイル読み込み時の警告とかが勝手にstderrに出されてたのがプラグインでオーバーライド出来るようになってました。これもおかしかったからなぁ。
気付いたのはこの程度かなぁ。
でもVersion number ignoredが修正ってあるから、もしかしたら1.4 DOMで1.3のdaeが読めなくなってたりするのかも。逆にちゃんとハンドリングしてくれるなら嬉しいけど。
今はBlenderが1.3.1のファイルを吐くから1.3 DOMをビルドしてるけど、1.4と1.3.1のDOMが同じバイナリに共存出来無いのはちょっと痛いよな。
あと関係無いけど1.4はクラス多すぎてビルドに時間かかりすぎ。
とりあえずlibxml2が必須になってしまったので、やっぱりRiko自体とコンバータは切り離して配布することにしよう。COLLADAはRiko自体には関係ないもんね。
あとちょこちょこ作っていたんだけど、DOMを辿っていく作り方をするよりはIntegrationって機能で読み込んだそばから変換して、DOMを辿って変換後のデータを取り出す、って形にしたほうが良さそうだ。
DOMをいちいち辿る形式にすると、COLLADA DOMのRubyラッパーを作る羽目になりかねんからな。
しかしC++とRubyの折り合いをつけるのが面倒だなー。 まあ上手くいけばBlenderにべったり依存ってことが無くなるんだから、このくらいは我慢するか。
Integrationでどのくらい楽出来るか試してみよう。
_ COLLADA DOM その2
libxml2を使わなくても、Rexmlでxmlをパースしてやるプラグインを書いてやればいいじゃん!と思いついた。
確かにデフォルトプラグイン全く無しでビルドするオプションはあるみたいだし。
でもそんな馬鹿なことやりたくないです。
C++とRubyの折り合いつけんのが面倒ってさっき書いたばっかりじゃん!