swigbullet作成中・・・


swigを使ってbulletのpythonバインディングを作っていて、BasicDemoがある程度動くところまでできた。
1フレーム50msくらいかかっていて、C++だと1フレーム5msくらいなので10倍くらい遅い2msくらいなので25倍くらい遅かった。
OpenGLの描画をC++に埋めてもまだ遅いのは、getOpenGLMatrixが16個のfloatのタプルを返すようにしてしまったのが遅い原因か。
1フレームをC++の2, 3倍の15msくらいにしたいところ。

pybulletにしようと思ったら先人がいたので、被らないようにswigbulletと命名。とりあえずpythonバインディングのみだがswigなのでrubyバインディングとかも比較的簡単に作れるかも。

追記

描画部分をC++に丸投げしたら15msくらいになった。
丸投げしたにしては速度があまり出ていない感じだ。
glutIdleFuncで回しているせいかもしれない。
pygameとかの自前のメインループで試してみることにしよう。
そろそろちゃんとボトルネックを測定したほうがよいな。