I'm developing a game engine in JavaScript and webgl and using the forward rendering technique, one pass for each light source in the scene.
I'm using additive blending for the second pass and it works quite well except when I need to light objects with transparent textures. In this case, I get the nasty artifact you can see in the picture below. Keep in mind objects in the scene are sorted by z (from far to near) and transparent objects are rendered after the opaque ones. I'm using the blend function gl.ONE - gl.ONE but, to be honest I tried randomly almost every possible combination that could make sense.
Anyone can give me an hint of how to fix this problem?