私はパーティクルシステムを作成していて、次の理由により、パーティクルを並べ替えることなく適切なアルファブレンディングを実現するためのトリックを見つけたいと思います。
- 各パーティクルは単一のメッシュ内のポイントスプライトであり、シーングラフ機能を使用して透明なノードを並べ替えることはできません。ただし、システムノードは適切にソートする必要があります。
- パーティクルの位置は、初期速度、加速度、時間からシェーダーで計算されます。システムをソートするには、CPUでこのすべての計算を実行する必要がありますが、これは避けたいものです。
- カメラの位置に対して何百ものパーティクルを並べ替え、フレームごとにGPUにアップロードすることで、静かで重い操作が可能になります。
アルファテストはGLES 2.0では十分高速であるように見え、非透過ではあるが「マスクされた」テクスチャに対しては問題なく機能します。それでも、半透明の粒子には十分ではありません。
これをどのように扱いますか?