Artichoke Brethren

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

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 使った方が早そうです。ま、これくらいは自分で作ってもいいですね。

↑このページのトップヘ