My God, Aardvajk is actually working on his game. Jaws drop.
Something that has been annoying me for a while is how on earth to produce cool effects using additive blending over light backgrounds.
Obviously, additive blending is wonderful when you start on a black or nearly black background, but over the top of anything else it fails.
So, for Squishy, which is always going to be a brightly coloured game, I've been toying with an idea in my mind for about a month that I finally got motivated to try tonight.
Basically, allocate an offscreen texture and clear it to ARGB(0,0,0,0) at the start of each frame. For the particles, set additive blending on and set the render target to this texture, then render them. Unlike normal additive blending where no alpha channel is used, provide alpha as well as colour intensity and add the alpha in the same way as the diffuse values.
Got back to normal blending.
Then, when rendering the final scene in the composition shader, alpha blend the value from the offscreen texture manually in the shader over the top of the existing scene.
Voila. Additive blended particle systems over a light background.
Hope you likey.