I agree it's not the problem, I was just suggesting point sprites overall
Point sprites have, as already suggested, several drawbacks/issues and limitations, so I wouldn't really suggest them, given that the gain is very minimal - eventually you might want to use hardware instancing in some form or another, so what you save is literally the space for 3 vertices. Also, point sprites can be just that-a completely screen-aligned quad, while particles can come in many variations - locked around a certain axis, oriented towards their move direction, all things you can't emulate with point sprites at all. So I would rather recommend not using them at all, anymore...
I can test particles depth with the scene depth, but how do I test particles depth with other particles depth?
Not to want to speak for someone else, but thats not what he probably meant, he most likely suggested testing against the scene depth, so that at least you won't draw in parts where particles are covered by something from the scene. Two ways however to achieve some effect of this sort were to:
- Enable alpha testing, and clip all alpha beyond 0.01 (or any such small value). I don't know if it improved performance in that you render fewer pixels, but at least you could now enable depth rendering/testing for particles that have a transparent "background" and are themselves mostly solid.
- Use a depth stencil, and increment stencil at each pixel you render a particle to per 1. Now after a certain threshold, like 6, you discard any further pixels at this spot. Works best in combination with the method above, and can give quite a speed boost in your case.