Artichoke Brethren

カリフォルニア・ベイエリアに住む CG エンジニアの気まぐれなブログ (ただいま引っ越し中)

2011年04月

window.event がらみでエラーになってたところを修正したのと、
ctx.drawImage に未設定の image 渡すとそこで止まっちゃうのを対策して、無事FF4でも動くようになりました。経験値不足を痛感。

ついでに emacs と ftp という地味な作業をやめて、Aptana 入れてみました。
よくできてますねー。

次はバイナリの読み書きあたりを作ってみます。

Firefox4 にしてみた。WebGL を有効にするには
about:config にて webgl.enabled_for_all_sites を true にする

しかし Perskun は真っ黒で動かず・・・webgl っつーか canvas の部分も動いてないな。なんでだ。

Web Pers-kun

とりあえず HTML5+WebGL の練習ってことで、昔つくったアプリを実装してみました。どうやら動いたようなので公開してみます。

Chrome9 でしか動かせてませんが、ぜひお試しください。

改良や解説などはこれから・・・

perskun_ss1.jpg

JavaScript 自体あまり慣れてはいないんですが、モダンスタイルはじわじわ勉強していくことにして。とりあえず手頃なベクトルライブラリが必要なので glMatrix と Sylvester を試してみました。どっちも割といい感じです。
webGL に渡す行列設定程度なら、glMatrix が手軽でいいかな。

    var proj = mat4.create();
    mat4.identity(proj);
    mat4.ortho(-1, 1, 1, -1, -1, 1, proj);
    var mv = mat4.create();
    mat4.identity(mv);
    var mvp = mat4.create();
    mat4.multiply(mv, proj, mvp);

    gl.uniformMatrix4fv(program.mvMatrix, false, mv);
    gl.uniformMatrix4fv(program.projMatrix, false, proj);
    gl.uniformMatrix4fv(program.mvpMatrix, false, mvp);

こんな感じ?ユニフォーム変数の方は事前にシェーダから拾っておきます。

    program.mvpMatrix = gl.getUniformLocation(program, "mvpMatrix");
    program.mvMatrix = gl.getUniformLocation(program, "mvMatrix");
    program.projMatrix = gl.getUniformLocation(program, "projMatrix");


glMatrix を自分で拡張してもいいんですが、ツールっぽいものを作って gl呼び出しと別に演算するなら Sylvester 使った方が早そうです。ま、これくらいは自分で作ってもいいですね。

毎年なんかしらの形で Mac というか Apple 熱が盛り上がる僕なのですが、こじれて MacBook Air を買ってしまいました。iPad2 のはずだったのだけど...

emacs, chrome, xcode, unity, evernote, jabref とだいたい必要なものはそろえたので
今年度はブログもちょっと長続きするように頑張ってみたいと思います。

しかしここ3年ほどゲーム開発に深く潜ってたら、世の中ずいぶん変わってしまいましたね。
追いつくのが大変です。

3年放置したらいろいろ具合悪くなってたので再設定してみるの巻。

↑このページのトップヘ