I have a fire simulation containing a large number of textured ones GL_POINTS. Each particle has a transparent background, and when confronted with fire from certain angles, mixing works correctly. However, viewing it from other angles reveals backgrounds that should be transparent, shading particles made after others. See the figure below.

As you can see, there seem to be a lot of black boxes in the path of the particle. How can i avoid this? The blend function I'm using is GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA. Use GL_ONEas the second argument glBlendFuncgives very similar results.
Fitzy