shadowcatcher and reflections problem

I want to use shadowcatcher to create a transparent background but want to keep the shadows so that I can composite it onto a background in photoshop.

When I render the scene everything look OK. But when I save the image as a PNG (with alpha) and open it in photoshop, the reflections on the ground are gone. It just doesn’t look right.

When Saving the same image as a JPG, everything look OK but I have no transparency of course.

Top image is how it is rendered and saved as JPG
Bottom image is the same image but saved as PNG and then added a white background layer in photoshop. All reflections on the floor are gone.

First thing is, of course, how can reflections appear if your background is white? They would have to be brighter than RGB 255, which is not possible in 8 or 16 bits.
Second thing is, shadows are multiplied while reflections are additive. You simply can’t have both without splitting the render output, that’s what render elements are for.

Try to save EXR with layers or tga alpha and compose it in photoshop.

Thanks for your reply, I still don’t seem to understand this.

First : It doesn’t matter what color I use as a background, the reflections aren’t there.

Second : If corona is able to output the reflections on the screen and save it as a JPG, why wouldn’t that pixel information be available in PNG?

I tried both, the problems seems to be in the alpha, parts where the reflections are, are being cut off by the alpha channel

please show you alpha too

Alpha probably considers only objects and shadows, which, if you think about it, isn’t wrong at all.

Still, for what you want, you’d probably have to render all required elements and compose, as suggested above. There’s simply no way to get reflections to appear correctly without using additive mode, which requires reflections to be separate.

But…but…but… I have seen it being done in the Corona shadowcaster tutorial (part 4). They have no problems with compositing with just rendering with shadowcaster only.

https://www.youtube.com/watch?v=4WL4UcbLLlw (fastforward to 2:03). I want/need just exactly the same effect.

This is the alpha channel. You can see clearly that the reflection in front of the box is just not there.

It’s not a reflection but light bounce. Beauty pass shows you all elements but alpha channel is different and you can a dd more shadows in material. In photoshop you can open your alpha in 32bit(what is way more than PNG alpha) and adjust levels to see more or less shadows

The “reflection” is indeed indirect lighting. So I rendered that out as a seperate element.
But unfortunatlyn when loading it in Photoshop, i get the same result.

In de rendering tab it looks good. But when saved to exr or png the indirect lighting on the floor is just gone.


Ok i think i am understand what you want, when you rendering in compositing mode and see in beauty pass this is not real what is looks like, turn off composing mode and you will see real image, what you saw it’s some kind indirect pass what will compose with alpha. Then you render without compose mode you will notice what you do not have light bounce, to add it setup more lights or some hdri environment then you will start to see bounce and then you can change to compositing mode, now alpha will have this indirect bounce

Just made a quick test with a teapot on a plane with shadow catcher material set to full reflection in compositing mode. Both the shadows and the reflections shows up in the alpha and is tranfered as expected when saved to tif-format with alpha activated.

Color-bleeding isn’t transferred.

I tried rendering without compositing mode but the light bounce is still there.

EDIT : I set the backplate to black and now the light bounce is gone. It was white before.

That’s strange. here how it works for me.

just white background in shadowcatcher and direct visibility with hdri in environment for light


this is how compositing looks, i’ve change direct visibility to black for proper rendering alpha channel, it need in some case.

Open exr in photoshop and apply alpha channel to mask layer

with selected mask at layer cntl+l to adjust levels for mask to show less shadows

for removing this bounce you need to use rayswitch material for shadowcatcher

Could you post your scene so that I can take a look at the settings? I probably am doing something wrong.

Here scene.
it’s corona 2.0
teapot.7z (12.2 MB)

Thank you very much. This is helping me a lot. I have never used hdri mappings before. So i’m trying to replicate your scene without shadowcatcher and then build up from there…
I made the same scene from scratch and added your hdri mapping to the scene. I’m getting faceting results on the teapot and I don’t know why.

I have included my scene in this post as attachment.


teapot test.max (1.01 MB)

Are you using dome mapping in CoronaBitmap for your HDRI?

The same for me. I have manage thats because of standard bitmap loader, if you load hdri via coronabitmap it will be fine as romullus mention, so it’s another bug i think.