くまりゅう日記

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

2006-01-23 寒い

_ 寒い

雪降ったりとかして寒いですね。

雪降った日は喜んで外に遊びに行きました。しょぼいデジカメ持って。

当然真っ白い写真しか撮れなかったんで上げませんけど。

デジカメしょぼ過ぎ。しかし買おうとすると結構するしなぁ。

_ Riko

シェーダ。

はい、出来ました。

vertex_programとfragment_program。あとおまけでATI_text_fragment_shader。

LocalParamとかEnvParamとか渡したりしてみてないけど、まあ動くでしょ。簡単だし。

とりあえず簡単にトゥーンシェードでもやって確認しました。トゥーンシェードは好きじゃないが、VertexShaderの簡単なサンプルとしては好きだ。

fragment_programもそれなりに動いた。

まだ動いただけでインターフェースを整えてないのと、テクスチャがサンプルの奴そのままパクって来たから今は公開出来ないけどね。

あー、あとATI_text_fragment_shaderはインターフェースが同じだったんで、対応してみたんだけど。

こいつMacのRadeon8500以降でしか使えないのよね。しかもARB_fragment_programと互換性も無いもんで、積極的に使う理由は無い。

確かに俺のiBookでもFragmentShaderが動くっていう利点はあるものの、ARB_fragment_programだってCgコンパイラがあるから使えるわけで、極一部の環境のためだけに手書きでアセンブリ書く気にはならんよ。

そんなことで動作は未確認。あー、でも一回くらい試してみてもいいかもしんない。

さて、そんなことより今後のことなんですが。

とりあえず次のことを考えてる。

  • Cgコンパイラを通してシェーダを扱えるラッパを書く。
  • GLSLも対応。たぶん。そんなに大変でも無さそうだから。
  • FragmentShader無し環境用に最低限TextureEnv、Combine設定を。
  • 行列スタックの管理を自前で。あとMATRIX0とかにも設定できるように。
  • デフォルトシェーダをある程度書く。
  • DDSをある程度読めるようにしようかな。
  • せめてtgaは自前で*1読めるように。
  • OpenEXRはどうしよう。気が向いたら。
  • モデルコンバータを整理。
  • アニメーション。
  • モデルのストリップ化。
  • 従法線、タンジェント生成。これはすぐ出来るけど。
  • マテリアル設定ツール。
  • コリジョンとかどうしよう。
  • ビルボードとか。
  • PointSpriteってシューティング作るのに便利そう*2
  • ポストエフェクト用の簡単なツールクラスとか。
  • あんまり余裕があるようだったらpbuffer。たぶんやらない。
  • yarvで動かしてみる。暇があればいつでもやりたい。

いやー、こんなもんかなぁ。いっぱいあるけど、今思い付いた奴を上げただけだから他にももっとあるかもしれんし、そもそも各々粒度が違うし。

しかし、こんなに色々対応して、何作る気なんですかね、俺。

まあ、何作るにしてもある程度必要と思われる機能は実装しとかなきゃな。

つか、やっぱり何作る気なんだよ。必要な機能って何だよ。

あ、忘れてた。

  • 影。シャドウマップは簡単だからシャドウボリュームをどうするか。

これは必要だと思うんよ。まあ丸影でも全然問題無いと思いますが。

でも最近のGPUの機能を見るにやっぱりシャドウマップだよなぁ。

あー、いや、そりゃシャドウボリュームも機能強化されてるけど、仕様非公開拡張で強化されてるくらいだと、あんまり使って欲しくないのかなと。

そんなことより実装が簡単だから好きなだけなんですけどね。

あと、そうだ。名前。こじつけるのさえ諦めれば何でも考えつくんですけどね。

とりあえず考えた名前リスト。

  • Riko
  • Reign
  • Rinne
  • Rightning

必ずRで始まるのはやっぱりrubyの拡張だからRで始まるのは基本かなと。

必ずiが入ってるのは謎です。俺の趣味だとしか思えません。

Rightningが気に入ってるんだけど、長いのが問題だ。 Rikoは短くてファイル名にするにもモジュール名にするにもいいんだが。

*1  SDL_imageとか無しで

*2  かなりハイスペックを要求するSTGになりますが


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