kumaryu日記
2006-02-11 風邪引いた
_ 風邪
完全に風邪です。だるくて口内炎。奥歯痛むし。
そういや風邪はなんで「引く」っていうんでしょうね。 かかるとか患うとかならわかるんだけど、引くって何? 「風」にかけてあるわけでもなさそうだし。
ググってもよくわかりませんでした。Wikipediaでもよくわかりませんでした。goo国語辞典でもよくわかりませんでした。くそー。
_ Riko
シェーダのキャッシュを実装。
コンパイラが無いときとか、シェーダのソースファイルが無い時とか、キャッシュの方が新しい時にはキャッシュを使うようになりました。
つまり、一回コンパイルしちゃえばcgcが無いところでも動くようになりました。
あと何すんだっけ。ぼーっとしててよくわからん。
ああ、COLLADAだ。
_ COLLADA DOM
COLLADA DOMのライセンスはソース、バイナリ配布共にたいして問題無いようなんで、使ってみることにしました。
Blenderからちゃんと吐き出されるのかはまだ確認してないけど。
とりあえずライセンスについては自分が読んだ限りだと、
ソース配布の時
- ライセンス同梱しろよ
- 変更したら変更点は明示しろよ
- ドキュメントはちゃんとつけろよ
てな感じ。
概ねおかしい所はないんだけど、ドキュメントはちゃんとつけろよ、っていう所だけちょっと…。いや、ドキュメントpdfとかchmで入ってるんだけど、これもつけなきゃダメですかね。
バイナリ配布の時
- 煮るなり焼くなりお好きにどうぞ
あ、そ。それでいいんだ…。
まあとにかく、配布に問題は無いようなんで使えると。
で、困ったことにビルド方法がなんかわからん。てかどこに書いてあんのよ。
makeしたらlinux - Debugとかいう設定でビルド始まったみたい。Macなんですけど。
で、途中でエラー。なんかldに知らんオプション渡そうとして死んだらしいけど、sample下なんで関係無さげ。
Makefile中を見てみたら、特に何やってるわけでなく、全部のcppファイルを普通にコンパイルしてarでくっつけてるだけっぽい。
サンプルはともかく、ライブラリ本体はそれでいいのね。
でもちょっと問題はlibxml2が必要らしい。これまで同梱するのは嫌だけど、BCCとかVC++なんかではlibxml2のビルド自体が面倒そうだ。
でもlibxml2が必要無い設定でもビルド出来るらしい。DEFAULT_DAEXMLPLUGINを-Dで定義してやるといいっぽい。これでオリジナルのXMLパーサを使うようになる。でも適当だから非推奨だってさ。
とりあえずextconf.rbでlibxml2が使えるかどうか判別して、使えない時には適当版のXMLパーサを使うようにするか。その程度なら簡単だし。
一番難しかったのはextconf.rbでサブディレクトリにぶち込んであるCOLLADA DOMのソースをビルドするMakefileを作ることだったりする。
無理矢理VPATH設定して逃げたけど、これでいいんかな。
ああ、そういや、COLLADA DOMのソースは同梱します。このライブラリ、ビルド方法分かりづらいもんね。
で、まあ、ビルドは成功。なんの憂いも無くCOLLADA DOMを使った拡張ライブラリを作れることになりました。
期待する人が居ると悪いから言っておくと、COLLADA DOMのrubyラッパを作るわけじゃないからねっ!
あくまでRiko用のコンバータライブラリしか作りません。
だってCOLLADA DOMって死ぬ程クラスあるぜ。SWIG通ればいいけどね。
ま、誰かやるかもしんないんで、それはそれで気長に待ちましょ。