0

这有点丑。

悲伤的脸.png

基本上,我有一些复杂的数学来定位一堆点粒子。鉴于有很多粒子,在顶点着色器中定位所有顶点似乎最快。因此,记录在内存中的几何图形中的顶点的真实“位置”向量与顶点着色器最终放置它的位置相去甚远。

当然,问题在于深度排序。THREE.jsParticleSystem可以进行深度排序,但据我所知,它无法在通过顶点着色器后根据深度顶点的输出进行排序。

顶点着色器是否有某种解决方法?或者我是否需要将我所有的定位都转移到 JavaScript 中,这样计算会慢得多?渲染顺序是否需要在着色器前确定?

4

2 回答 2

0

如果您的像素是附加绘制的,则排序不是问题:)

否则:不,除非在特殊情况下。粒子是完全随机的吗?他们需要吗?如果您在 JS 中排序,您可以只偶尔排序,还是将它们预先排序在堆中?

于 2012-12-10T22:13:49.687 回答
0

如果你可以在顶点着色器中计算你的粒子位置,并且你可以根据距离计算你的参数,你应该能够编写一个进行排序的顶点着色器。话虽如此,获取距离方面的参数可能是一个挑战,也可能是不可能的。

于 2015-11-24T03:05:27.093 回答