これはちょっと醜いです。
基本的に、私は点粒子の束を配置するためのいくつかの複雑な数学を持っています。パーティクルがたくさんあることを考えると、すべての頂点を頂点シェーダーに配置するのが最も速いように見えました。したがって、メモリ内のジオメトリに記録されている頂点の実際の「位置」ベクトルは、頂点シェーダーが配置する場所の近くにはありません。
もちろん、これに伴う問題は深度ソートです。THREE.jsは深度ソートを実行できますが、私が知る限り、頂点シェーダーを通過した後ParticleSystem
の深度頂点の出力に基づいてソートすることはできません。
頂点シェーダーに何らかの回避策はありますか?または、計算がはるかに遅くなるJavaScriptにすべてのポジショニングを移動する必要がありますか?レンダリング順序はシェーダー前に決定する必要がありますか?