Spherical Billboards / Soft Particles - blending

Attached is a basic spherical billboard / particles implementation for volumetric particle visualisation.

Can anyone advise how to set the blending to stop them ‘popping’ when the view order changes? I’ve sorted the particles back to front and set to basic blend with no depth buffer active.
SP Fog Test.zip (17.6 KB)

blending is pain, there are few ways:
Most basic is to make alpha really low, like 0.9.
also there is alpha to coverage on blend node advance you can try…
And one I did’t test yet you render Color and alpha to separate texture and combine them in the post with everything else…

do you know btw there is color and depth node, specially to render transparent stuff on top of solid

Thanks for the tips. None of those suggestions are suitable for this unfortunately.

Does anyone else have any ideas? There must be a ‘proper’ solution for this as soft particles / spherical billboards are a reasonably popular technique


In the above unity example the blending is described as - ‘Blend SrcAlpha OneMinusSrcAlpha’ which will be SourceAlpha and InverseSourceAlpha but I haven’t managed to use these successfully with the blend advanced node yet.

More examples -


Hey, I was on the wrong track here.

First off - sorting as not needed as we’re not using the depth buffer for the particles (but rendering an opacity map to allow us to composite instead.

Because the depth buffer is off we don’t have the issue of draw order changing blending results

My problem was actually that I was culling particles based on particle position and view frustum. this meant that whenever a particle centre position was off screen, the whole particle would disappear. I was confusing this with the z order of the particles changing.

Soft Particles with noise = smoke
SP Fog Test 2.zip (1.6 MB)



Looks cool, good fiend :)

realy cool,
Thanks for sharing. the shader is a good resource for particle blending!

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.