kumaryu日記
2009-10-24
_ 今日のNetwalker
工人舎のPAが11月上旬発売だと…!もうちょっと早く発表されてればそっち買ったのに…。
思ったよりテキスト入力ミスるので困ってたんですが、どうもコマンドライン版のvimを使ってたのが問題な模様。いつのまにか明らかに入力した覚えもタイプミスするはずもない文字が入力されてたりするんですよ。なんか行の折り返し処理が不信な感じ。screenが問題なのかもしれないしmltermが問題なのかもしれないがそれは調べてないのでわからん。
で、gvimを使うようにした。なんかimeが一旦offになると二度と復活しないので使えないなぁと思ってたんだけど、なぜか.gvimrcでimdisableしてたのでそれを直して普通に使えるようになった。なんかMacVim使ってる時にいろいろ試したのが残ってたみたい。
これで快適である。ターミナルとgvimの切り替えがめんどいのだけは不満だが。
あとruby 1.9のtrunkを入れたのでwxrubyをビルドしようとしたらswigが古いとな。パッケージが無いから新しいswig入れるのめんどいな。いや普通にswigビルドすればいいだけじゃないか。
京ぽんでの通信は結構めんどいし遅いのでイーモバのUSBの奴を買おうかな。と思ったがアウトレットの安い奴はNetwalker対応してないらしい。高い奴は高い。4万円近くする。んー、これはもうちょっと良く考える必要がありそうだ。Willcomだって月額安いわけじゃないからな。
_ [Riko] 描画シーングラフの処理どうしようか
今の設計だと
- シーングラフを組み立てる
- シーングラフを辿って描画コマンドリストを作る
- 描画コマンドリストを辿って実際に描画
てな形。
シーングラフを作る処理はやらないと話にならないので必要。
シーングラフを辿って一旦描画コマンドリストを作るのはどうなんだろう。もちろん俺なりに考えたことがあってのことではあるんだが。
まずシーングラフを辿って直接描画する場合を考えよう。
これは簡単で、各ノードに描画命令を実行させればいい。昔はこうだった。なんでこれじゃ駄目だったんだ?
まあ端的に言うとマルチパスな描画がやりづらかったから。 複数パスを実行すると毎回全部のノードを辿らないといけない。 しかも辿る度に変形行列とか計算しなおし。キャッシュするのめんどいからね。
ソートとかもやりづらい。不透明物と半透明物は別に描きたいじゃないですか。 ノードの処理が多くなると自前でノード書くのがいろいろとめんどくなるのも困るんだよね。
これを解消しようとしたのがコマンドリスト方式。
一旦辿って変形行列とかを確定させた値と○○をパス××で描画するよーというのをコマンドリストにしといて、コマンドリストはこれを複数パス辿って描画。値は確定してるから無駄に何度も同じ計算させなくて済むし頑張ればソートとかもできる。
やっぱり平坦な構造ではソートとか限界があったのでその辺がだいぶ汚くなってる。 中途半端に階層化されてて気持ち悪い状態になってしまった。
じゃあもう一段進めて、コマンドリストをちゃんと階層化しようか。
って、それじゃ普通にシーングラフじゃねぇか。最終的にNVSGみたいな描画できるノードだけのシーングラフを作るのかね。
うーん、べつに悪くないなぁ。というか有りじゃねーの。この方向で設計を考えるか。