我正在尝试像这篇文章一样在 GPU 上实现碰撞检测:
https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch29.html
在第 2 步 - 网格生成中,我们使用深度测试来确保我们只编写大于前一个的粒子 ID。
我现在可以通过将 ID 号除以粒子总数来进行此操作:
gl_FragDepth = v_ID/u_totalParticleCount;
但我担心如果我到达一个有很多粒子的点,我将没有足够的准确性。
我尝试将 RGBA32F 纹理附加到我的帧缓冲区深度附件,但我猜这是不允许的。
有没有办法做到这一点?还是将我的 ID 放入 0-1 空间是唯一的方法?
非常感谢!