この記事のように、GPU に衝突検出を実装しようとしています。
https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch29.html
ステップ 2 - グリッド生成では、深度テストを使用して、以前のものよりも大きいパーティクル ID のみを書き込むことを確認します。
ID番号をパーティクルの総数で割ることで、これが機能しています。
gl_FragDepth = v_ID/u_totalParticleCount;
しかし、粒子が多いポイントに到達すると、これに十分な精度が得られなくなるのではないかと心配しています。
RGBA32F テクスチャをフレームバッファの深度アタッチメントにアタッチしようとしましたが、それは許可されていないと思います。
これを行う方法はありますか?または、ID を 0 ~ 1 のスペースに入れるのが唯一の方法ですか?
どうもありがとう!