2011年04月04日 Web Perskun Web Pers-kun とりあえず HTML5+WebGL の練習ってことで、昔つくったアプリを実装してみました。どうやら動いたようなので公開してみます。Chrome9 でしか動かせてませんが、ぜひお試しください。改良や解説などはこれから・・・
2011年04月02日 行列演算関係の下準備 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 使った方が早そうです。ま、これくらいは自分で作ってもいいですね。