WebGL GPUに計算させる

この記事は、webgl-jp Slack内の情報を元に構成されています。

webgl-jp.slack

 

質問

gpu.js

を見つけたのですが、GPUに計算させるにはどういった方法が思いつきますか?

 

回答

よくあるのは、テクスチャを2つ用意して、画面を覆う四角ポリゴンを描画して、双方のテクスチャをピンポンして計算するアプローチです。

 

WebGLを利用する前提の話であれば、GPUに計算させる=シェーダにやらせる、ということなので、

1.フレームバッファを生成し板ポリを描画

2.この板ポリの描画の際に走るフラグメントシェーダで何かしらの計算をする

3.計算した結果はフレームバッファに書き出されるので

4.別のプロセスでその値を読みだして使う

ふたつのプロセスで順番にフレームバッファに書き込み、読み出し、というふうに繰り返し処理することになる。