読者です 読者をやめる 読者になる 読者になる

WebGLで浮動小数点テクスチャを使う

WebGL OES_texture_float Extension Specificationという仕様があってこれを有効にするとGoogle Chromeだと使えた。

alert(gl.getExtension("OES_texture_float") ? "使える!!!" : "使えない!!");

Firefoxは対応していない。

ということで、WebGL GPGPUでfloat型のデータが入力可能になった。ハジマッタ…。
と思ったけど、出力を受け取るのに使っているgl.readPixelsはgl.FLOATに対応していない。
とりあえず、値に幅を持たせたいときは複数のUNSIGNED_BYTEで1つの数値を表すなどエンコードデコードすればいいと思います・。

http://www.udp.jp/misc/nvjs/gpgpu.html:title=
のrun3にgl.FLOATの入力と0-1023までの結果を受け取る例を置きました。