くまりゅう日記

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

2009-09-14 風邪引いた

_ 土日は寝てた

土日は相当寝たはずなのに風邪引いたっぽい。

引いたというか、風邪っぽいのがはっきりしたというか。時間無いので早く良くならんかなぁ。

_ [Riko] 2D用にいろいろ改造

Rikoは今までOpenGL 1.2+VBO+Vertex Programが必須だったんだけど、2Dだけ使うときにはちょっと厳しい。

というか、WindowsでなぜかOpenGLのアクセラレーションが使えないというときに動かせないんだよね。普通にGeForceささってても起きるらしい。マルチモニターかなぁ。 あとは仮想マシン中で動かないよ!とか言われたりもするので。

2Dで適当に表示したいだけのときにそんな環境で動かないのはめんどいので、Windowsのソフトウェアレンダラーでも2Dは動くように改造。

OpenGL1.1+拡張無しでどのくらい苦労するかと思ったけど、思ったより簡単だった。

一応固定シェーダは実装してたし、マルチテクスチャは固定シェーダでは使ってなかったし*1、あとはVBOくらい。VBOは完全に拡張ライブラリ側で隠蔽して、拡張機能が無ければ勝手にメインメモリ上で扱うようにフォールバックするようにした。

基本的にはこれだけ。機能を省いたりはしてないので無い機能使えば例外出して落ちる。けど2Dだけなら意外と動く。

2D的な制限としては減算ブレンドと二次カラーが使えないくらいか。あとテクスチャ座標のラップモードがCLAMPになるのが怖い。CLAMP_TO_EDGEがつかえない><

後でコミットしておくか。

これと別に、SDLかSDLを使うライブラリをラッピングして使う手も考えてたんだが、その場合はwxRubyと組み合わせるのが非常に難しいことに気づいたので断念した。

これで機能制限付き2DだけならOpenGL1.1だけで動くようになったけど、逆に最近なら3Dはもっと激しく要求してもいいかなぁ。GMA950を切っていいならGLSL前提にできるんだけどどうなんだろう。FBOも前提にできるとうれしいんだが。

どうなんだろうも何も、俺がどこまで切る気になれるかだよな。難しいものだ…。

ああ、そんなことよりCOLLADA読み込みやろう。シェーダ書くのめんどいよ。

*1  TexEnv辺りを実装してなかったのでつかいみちがなかった&使う気もなかった


ページのトップへ | トップ «前の日記(2009-09-09) 最新 次の日記(2009-09-17)» | 編集 | kumaryu.net by kumaryu