是否可以从顶点着色器中对点粒子进行排序?

时间:2012-12-10 20:58:47

标签: webgl three.js

这有点难看。

sadface.png

基本上,我有一些复杂的数学来定位一堆点粒子。鉴于存在大量粒子,将顶点着色器中的所有顶点定位似乎最快。所以顶点的真实“位置”向量(记录在内存中的几何图形中)不在顶点着色器最终放置的位置附近。

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

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

1 个答案:

答案 0 :(得分:0)

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

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