「電波とどいた?」
2006/10版 その2

2006/10/16 (月)

3D (吉里吉里)

てんてこまいまいです(挨拶)

それはさておき、ふと思いつきで書いた実験コード。 3D系の世界はとんと疎いのですが、そろそろ実験ぐらいはしておかないとねぇとかなんとか

吉里吉里 irrrlicht プラグイン

まだ単なる実験コードですが、がんばって全オブジェクトのバインドを 書いてしまえば、3D がりがりを TJS で書くことも可能でしょう。 今、吉里吉里が、Window を1つおこす必要がある関係で余分に 窓がでてるのはなんとかする必要あり。

単純に TJS2 で Irrlicht が制御できる! というだけだと吉里吉里で ある意味がないので、Irrlicht の画面に吉里吉里のレイヤを がしがし転送かけてみて処理をいれてあるのですが、案外動くものですなぁ。 これだけ動くなら、2DなUI部分を吉里吉里で、ってのはありかもですね。 あとはテクスチャのCPUでの加工用途に吉里吉里のコアを活用する使うとかね。 ピクセルシェーダ使えよ説は気にしない方針で。

今、吉里吉里のレイヤから子レイヤの合成結果をぬきだすのに、 一度別のレイヤにpiledcopy してるので、それを、直接 3D エンジン側が 準備したテクスチャに対して書き出すようにできると、メモリ転送1回分 パフォーマンスはあがるかな。吉里吉里側にそういう口 (インターフェースを渡すとその先にコピー処理してくれるような口)がほしいかも。

この手のライブラリでフリーもので、今、「使えそう」なのは、Irrlicht と あと、Orge があるわけですが、前者はなんか設計が微妙におかしい(汗)。 なんでこんなところにこんなメソッドがはえてるんだろう的なおかしさ。 あと、メモリ管理を誰がどこで管理やってるのかよくわかんねぇ。 超バグの温床な予感。せめてリファレンスカウント希望。

OGREはまだ Irrlicht ほどよく見れてないのですが、なんとなく APIの構造的にはまともそう。ただアプリケーションのフレームワーク があるので、それがちょっと邪魔かも。低いところのAPIまで眺めてないので まだ未知数。

あと、前者は zlib ライセンスで、後者は LGPL 。LGPL は商業製品に(DLLの形で) 利用してバイナリ配布するときに、ライブラリのソースを入れないといけないから、 説明がめんどいんだよなー。うーん。




メールはこちらへ...[わたなべごう (go @(at) denpa .(dot) org)]

この日記は、GNSを使用して作成されています。