くまりゅう日記

もっと過去の日記
[.NET | BeOS | Blender | COLLADA | fossil | mono | monotone | NPR | OpenGL | PeerCastStation | Riko | Ruby | Silverlight | TRPG | XNA | ゲーム | ゲーム作り | ]

2007-10-23 眠い

_

朝寒くてふとんから出られない病が発症する季節になりました。

早く寝りゃいいんだけど。つか言うほど寒くはないんだがふとんが気持ち良すぎて困る。

_ [Ruby] wxGLCanvas

バグってたGLCanvasパッチを直してついでに簡単なサンプルもくっつけてMLに投げといた。

そしたら1.9.3で入れとくよとのこと。やったー。1.9.2はもう出るから入らなかったのね。

あとwxWidgetsを--with-openglつけると他に何かライブラリ必要? って言われてんだけどどうなんだろ。Windows*1とMacOSXではいらんけど、LinuxなんかではMesaとか必要なのかなぁ? わからんねぇ。

とりあえずここにもパッチとサンプル上げとく。サンプルはruby-openglが必要で、方向キーで箱が回転します。

ああ、cube.rbって名前にして置いたらCGIだと思いやがるのか…。

*1  OpenGL入ってないWindows95なんてもう知らん

_ [Riko] パーティクル

描画周り、MultiDrawElementsとかに対応して、使ってなかった簡易ジオメトリインスタンスを消した。だって遅いし使えないんだもん。

パーティクルを組んでたんだけど、遅かったのでC++に移行。

…してみたが、あとで確認したら重かったのは更新処理じゃなくて描画の登録処理だった。

まあ更新処理もC++にした方が速いし、描画登録をC++でやるにしてもRubyのオブジェクトからC++にデータ渡して描画じゃあんまり速くならんもんな。

とりあえず適当に組んで、2000個強くらいなら余裕で出るようになった。Rubyだけだと300も無理だったんだけどねぇ。 もちろんマシンによっても違うし、他の処理やるとそんなに出ないだろうが、しばらく使う分なら数百も出れば十分なので大丈夫だね。

もっと速くするなら多分描画をなんとかしないとならんけど、どうしよう。今はVBOに4頂点ずつデータぶち込んでDrawArraysでQUADSを描画してるけど、QUADSってどうなんだろ? TRIANGLESとインデックス指定で描画した方がいいんだろうか。うーん、なんかRadeonとGeForceで違ってそうな気もしないでもないな…。

試してみりゃいいんだが、インデクス用のバッファ作るのがめんどいな。

あともしかしたらただCPUが重いだけかもしれん。それならめどいので諦めよう。 SSE対応もどれだけ効果あるのか分からんしな。

とりあえずソースが酷いので整理してコミットしなくちゃなぁ。つかパーティクル周りってRikoに入れるものなのか? 分けると描画周りが困るので入れちゃったけどさ。


ページのトップへ | トップ «前の日記(2007-10-18) 最新 次の日記(2007-10-28)» | 編集 | kumaryu.net by kumaryu