WebGL GPUに計算させる
この記事は、webgl-jp Slack内の情報を元に構成されています。
質問
を見つけたのですが、GPUに計算させるにはどういった方法が思いつきますか?
回答
よくあるのは、テクスチャを2つ用意して、画面を覆う四角ポリゴンを描画して、双方のテクスチャをピンポンして計算するアプローチです。
WebGLを利用する前提の話であれば、GPUに計算させる=シェーダにやらせる、ということなので、
1.フレームバッファを生成し板ポリを描画
2.この板ポリの描画の際に走るフラグメントシェーダで何かしらの計算をする
3.計算した結果はフレームバッファに書き出されるので
4.別のプロセスでその値を読みだして使う
ふたつのプロセスで順番にフレームバッファに書き込み、読み出し、というふうに繰り返し処理することになる。