Particles Look Bad Against Bright Background

Hey All,

I’m using particles in my game and they consistently look bad against bright or colorful backgrounds. This post describes what I’m talking about: http://gamedev.stackexchange.com/questions/22989/how-can-i-achieve-a-good-fire-effect-with-alpha-blending-and-particles

To reproduce this you can change the background in cpp-tests to white and you’ll see most of the particle colors will turn white as they are emitted. I think this is due to the ADDITIVE blend function basically adding the colors towards white and not taking into consideration the src (background) color. It might also be related to the shader being used with the particles.

I’ve tried pre and non-pre multiplied alpha blendfunc with no luck (both look bad for different reasons).
Has anybody had any luck solving this with a custom shader or blend function?

Thanks!

Hi Again,

Just wanted to follow up on this issue. I tested again with v3.8.1 and the problem is still there. See the screecap below for an example of what’s going on.

On the right is the original sample code. On the left the background is modified to be yellow. As you can see, because the particles are additive, they are absorbing the background color, resulting in a total different looking particle effect. The solution I linked to earlier suggests using an offscreen buffer. Does anybody else have another solution that might be more optimal?