2010年12月14日火曜日

第4回WebGL勉強会に参加してきました

第4回WebGL勉強会に参加してきました.
まず当日新幹線が1時間30分おくれてしまうというアクシデント.
そして翌日朝には東京→関西+早朝プレゼンというハードスケジュールだったので今日はもうホント(ry

それでは参加してきた感想です.

tmurakamiさんの発表
オフスクリーンレンダリングのお話.
実際勉強会ではブラーのデモを見せていただきました.
正直このお話を聞かなかったら『HTMLCanvasElementに書きこんでそれをテクスチャにする』という暴挙に出ていた気がしますorz
OpenGL座標では左下が原点,テクスチャ座標では左上が原点なのでこのへん注意がひつようなようです.

確かシャドウマップやアンチエイリアスをするときもオフスクリーンレンダリングが必要だったと思うので,覚えておきたいと思いました.

tmasdaさんの発表
glMatrixのお話『Appleが好きな人は(ry』と『ソースを読めば(ry』が印象的でしたw
内容についてですが実際ソースコードの読み比べをしてみて比較してみた,というお話でした.
glMatrixの中身は少し読んだのですが,sylvesterは存在だけしか知りませんでした.
sylvesterのベクトルの加算メソッドにびっくり,複雑.
ほかベクトル成分へのアクセスに対して『何 故 1 オ リ ジ ン な ん だ』と総ツッコミが入ったりしてたようなきがしますw
(もともとsylvesterはWebGLとかとは関係の無い数値計算用のライブラリのようですし)

実はglMatrixはこのQuake3WebGLデモにもつかわれてます.
といいますかCopyright見てみるとglMatrix作った人とこのデモを作った人は同一人物みたいです.

あとcolumn major, row majorという言葉を初めて聞きました.
行列(配列)に『行』で詰まっているか『列』で詰まってるかという違いのようです,意識したことがなかった,いやはや恥ずかしいorz

続いて自作ライブラリcatGLのお話.
自分の為につくっているライブラリ(あ,EazyWebGLと同じだ)

俺の発表
ちょっと今プログラミングができないほどデスってるので自己主張だけさせていただきました.
EazyWebGLはcatGL同じく,自分のためだけに作ってます(主にMikuMikuDanceのために).
極力毎日更新するようにしたいんですけど年末はデスってそうなのでキビシー.

ただ最後に触れた話は少しやっぱり気になってます.
WebGLで文字列表示デモでは1ループごとに行列を作って捨てています.

正方形の頂点バッファを作って
1.描画したい文字にTexCoodを設定
2.行列を作って移動
3.描く
4.移動に使用した行列を捨てる
5.1に戻る

とかいうあまり賢くないアルゴリズムですので文字列長が伸びれば伸びるほど『捨てられる行列』は増えていきます.
文字の数が増えるとなんか速度が安定しなかったのでプロファイルをとってみたら『ガベージコレクション』にいくらか処理を持って行かれていることに気づく.
FPSを安定させるためには『極力ガベージコレクションを発生させないように』やってく必要があるのかなぁ,いろいろ要検証.

ほか
JSONはevalでパースするもの!だから怖い!と思っていたのですが,JSON.parseなるものがブラウザには最近実装されているらしい.これはJSONを怖がらなくていいのかもしれない!
(一方,JSONに負けない速度でバイナリを読むMessagePackなるものがあると小耳に挟んだことがある,このへんも要調査.)

そして,次回のWebGL勉強会(翻訳作業とかプログラミングとか)は年始にガガガーッと活動するよ!っていうお話.
デスってることが想定されるので下り始めた体力と相談しつつ再び上京検討中.

目が離せないHack The WebGL!
主催者の皆さん!参加者のみなさん!お疲れさまでした!

0 件のコメント:

コメントを投稿