Open18

WebGLライブラリとGPUパーティクルの実装についてメモ

にー兄さんにー兄さん

Curl Flowに関しては、挙動をGLSLで定義していて、glslifyによって読み込み、
Three.jsのGPUComputeRenderer?によって表現しているっぽい

Spiritはまだあまり解読できていないけど、CurlFlowのほうがソースコードは読みやすそう

にー兄さんにー兄さん

強引実装しようと思えば、vertシェーダでCurlノイズによる複雑な動きをする挙動を定義して、
点群モードで表示するとか
見栄えはちょっとアレかもだし、パーティクルよりも扱いにくそうではある

にー兄さんにー兄さん

上に挙げたwebgpuサンプルのparticleを見ている
サンプルの作り的に、canvasオブジェクトを依存性注入して
initするのを別のユーティリティの中でやっているだけで、
基本やってることはmain.tsに閉じていそう

にー兄さんにー兄さん

なのでパーティクルのサンプルだけ切り出して別のプロジェクト作ったほうが見やすいかもしれないな
特段Nextとか使わないで

にー兄さんにー兄さん

上のドキュメントと、サンプルを見ていると何となく使い方がわかってきた
これを使ってBabylon.jsのパーティクルをGPUで更新できるようにしたい

にー兄さんにー兄さん

位置の更新だけどGPUでやってみて、それが本当にGPUパーティクルと言えるのか微妙な気がしてきた
WebGPUサンプルも見て見よう!