Glare effect missing on transparency

hey , i am losing my post-process glare effect outside of the 3D geometry when i save my file as PNG. There is no problem with nodes. I tried to save from using both composite and view layer nodes. Glow effect applies where it overlaps with geometry but i can’t see it on transparency. any idea how to fix this ?

cycles - 2.92 - 8bit RGBA png

I tried it out and am puzzled as well.
More by the fact that the blender is showing the glare over the transparaent area, as the image that “glare” outputs did not alter the alpha channel.

Anyway, I found 2 solutions:
If you youe eevee, then you can check the “bloom” box in the render settings and get something similar. (not checked with transparaent images, tho. but i hope for the best :slight_smile: )

Alternatively in the compositor you can remove the alpha channel and apply the glare effect one a non-transparent, black background (in the picture: the left part). Afterwards you will have to compose the alpha channel from the original one and from the brightness of the background of the glared image (the right part).
Additionally you must correct the brightness of the glare otherwise it would fade out to black. (the top part)

hope that helps. :slight_smile:

I just noticed, that the second solution messes with the semi transparent borders of the original image.

You can try to set the mix value of glare to 1.0 and somehow compose the effect manually,
Unfortunately I’m not an expert on the compositor and am reaching my limits here :slight_smile: .

wow, thanks for the effort I really appreciate it. I think I will try eevee than compose them in Ps, the nodes and compositor is too much for me already. And if that doesn’t work, I’ll go and paint the damn thing in Ps directly. :smiley:
Do you think this thing should be considered as a bug ? It is very frsutrating to be able to create a great looking thing in compositor but basically not being able to save it ? I don’t know.

I can understand your frustration. It seems were are some things about the compositor that I completely miss, especially things connected to the alpha channel: why for example does the image returned by the render layers still has alhpa information in it, when it outputs the alpha channel separately?

That might be good keywords to google: “blender, compositor alpha channel strange”. If you want to continue using the compositor glare :slight_smile: . Or somebody else here has an idea.

It is not a bug, it is a limitation of Photoshop and the PNG format. The glare does not occlude, it’s merely additive, thus it has alpha of 0. This works fine with associated/premultiplied alpha, but Photoshop and the PNG format do not support this.

So are you saying there is no way to get the glare on a transparent background outside of Blender?

Sure you can, just use OpenEXR. If you really need to comp it as straight alpha for whatever reason(ex, this is getting handed to a client who needs to use it in PS), you can use Blender’s compositor or another functioning comp tool like Nuke or Fusion to copy the RGB channels into the alpha channel. Don’t do that unless you have to though, doing the comp properly with a premultiplied file will give better results.

Thanks for the reply. The problem persists in version 2.92 whether using PNG or OpenEXR when bringing into Photoshop: there is no glow in the transparent areas. I’ve tried a few different node setups from posts here and/or stack exchange, all with the same result.

This is a problem with Photoshop, not Blender. Adobe is not really interested in supporting CG workflows with PS, and this is one of the results. You can see an example of how to sorta hack it into working here, but I would STRONGLY recommend you not resort to that. If at all possible, do your CG post processing using the OpenEXR format, in an application that is designed for this stuff. Such as Nuke, Fusion, or Blender’s own compositor.

1 Like

Adobe has multiple 3D applications, including it being integrated into Photoshop and owning Substance Painter. AfterEffects is an industry standard composer for all kinds of footage, including 3D footage. I get that you don’t like Adobe for whatever reason, but your assertions about what they don’t have an interest in seems pretty off to me. This is not to mention the fact that Adobe is a member of the Blender development fund. I can create the effect I see in the blender render window in Photoshop, and save it as a PNG and it works correctly. Seems to me that this is more of a shortcoming of Blender not being able to translate from premultiplied alpha to straight alpha when exporting as PNG. Clearly PNG is capable of reproducing the same effect since it can be created manually with ease in Photoshop, GIMP, Illustrator, or just about any graphics software that can output transparent PNGs.

After Effects is NOT industry standard for 3D footage, Nuke is. You are experiencing one of the many good reasons why.

The effect does not work correctly via PNG or Photoshop, nor is it possible to make it work correctly. Those formats only support straight alpha, and straight alpha simply cannot do this. I explained to you previously how to hack straight alpha into working, but having non-zero alpha for a glow is not ideal and will not composite the way glow really works. With a bright enough background, you can get a situation where the glow makes the background DARKER instead of lighter when using straight alpha. That will never happen with premultiplied alpha, which will always composite the way it works with real world light.

See also:

Ok, so I read through a ton of replies in that thread from 2009. So AfterEffects handles EXR one way and Photoshop handles it another way and there is an ongoing argument about whether Photoshop is interpreting the spec of EXR properly or not. And there has been zero movement on this since 2009? I wonder why this topic died back in 2009 and nothing has changed since then? I suppose I can do my compositing in AE instead of PS in this case. Thanks for the insight. Seems crazy to me that this is such a hassle, but it is what it is, I suppose.