Translucency allows light to pass through object, but SSS does not

I noticed that a translucent object allows light to pass through, but a similar object with SSS does not, see example render below (Cycles, translucent to the right, SSS to the left). I’m just curious why this is; shouldn’t the SSS object also emit light (as it looks similar in brightness)?

Does the doors have thick geometry?

Yes, blendfile attached if you would like to have a look.

sss_translucency.blend (851.9 KB)

SSS is not pass light. If you want, mix with refraction. But this decreases your render speed.

1 Like

In real life SSS happens in the same way as volumetrics, but in the computer volumetrics are so complicated to calculate SSS was made to get it faster. Use volumetrics if you want light to go through. A good way to remember it is SSS is for sub SURFACE scattering. It only scatters the surface. Volumetrics is for calculating light passing through and most accurate SSS possible, but with long render times.

1 Like

Left volumetrics with white transparency on surface to make it 100% volumetrics.
Right transparent with color.

Edit: I should note that volumetrics also need a volume to work. A single plane won’t work.

Nice, thanks for the explanation.

I think it should though. It makes no sense that such a bright result does not contribute to lighting. I get why its hard to trace back through refraction. I’m not sure what the reasoning would be for this to be hard. Any developers around to shed some light on this?

You can see different BxDF functions. Search on the Google, may be find several technical documentations.

Cycles uses BSSRDF function.

It does pass light. However, it’s typically going to pass such little light that it’s completely drowned out by the color transform.

If you want to pass more light, make it thinner. Think about how thin marble would need to be for you to see through it. That’s how thin it needs to be.

there is another way
but don’t remember the name!

something like a light portal

you add a plane with some emission and make it not visible in render
this will add a lot of light inside room

happy bl

Are you sure? I’m getting absolutely nothing on diffuse, sss, or principled with no specular. The lit up part affects glossy, but not diffuse at all.

@ Hikmet:
If “the other side” is lit diffusely (like translucency), then it should have a lambertian distribution of the lighting created by the surface, but it don’t.
If “the other side” is lit specularly (like refraction), then it should pass light through using caustics, but it don’t.
Seems a workaround is to use light path and mix in translucent for diffuse rays.

The simplest way to allow light pass trough a material, is to add a transparent shader to the SSS shader IE,with a add shader.

ssspass.blend (114.1 KB)

No, I’m getting no pass from diffuse, but specular is light passing through the SSS anyways.

In which case, this may be a bug, but the bug would be with the diffuse, not with the specular. The diffuse should be seeing the interior face of the SSS surface (which is clearly and obviously lighted). There must be something happening where SSS doesn’t act on diffuse rays.

Sounds like a bug. The backfacing face of a plane shows up as unlit, unlike translucency shader whose purpose is exactly diffuse backlighting.

@ pixelgrip:
Use transparency for an unhindered specular passthrough, and translucency for a fully diffuse passthrough (if the backside looks diffuse and not seethrough). You can use refraction, but requires caustics to let energy pass. I use transparency to fake refraction passthrough, and in some cases where translucency is too costly.

yes this is what i mean.It helps the light transport.

For speed, Cycles uses this model. If you want light pass to other side, you can use BSSTDF or BTDF functions, but Blender has not these. And this methods are slow. If you want transmittance, then you must mix with Refraction shader. Or for fake result, you must mix with Transparency shader.

Cycles not have all in one shaders (except PBR) like Vray etc. You must create your own setup. Or you can use commercial addons.

I do not believe it is a bug. SSS should not allow any light to actually transmit through the object. Subsurface should (I say should because I have not looked into the actual shader files and figured out what its actually doing. But it is pretty rare that even PBR engines allow this given what a SSS shader is.) only simulate how light bounces below the surface as if it were a homogeneous volume.

Here is an example of one that would allow light to pass through. I was working on a material recently for my blender materials library that would allow light to pass through for hard surfaces in a beauty shot situation. This method really has no place 90% of the time. It is VERY processor intensive. To get a relatively grain free image I had to hit 2000 samples.

What I did was, Setup a principled BSDF node, set the color, applied my specular math, set my IOR, set the roughness to 0.4 then set the clear coat to 100% and set its roughness to 0.04. Then I set my transmission to 0.9 and then setup a principled volume node. I set the volume and the obsorption to a slightly darker and slightly desaturated (by slightly I mean like 0.95 if the color is 100% saturated) and then set the strength to 4000. That much volume is what does the damage. Anything below 1000 and you will probably have a relatively grain free quick render but 4000 is a lot. You can give that a shot and you will probably be getting the results you are looking for. Some film grain was later added back using an overlay from a Canon 1DX. This example image below really doesnt show how light is passing through it but this is an example of a material where it could happen.

I want to add, this really should only be done for close up beauty shots. The better alternative method to solve this problem if you NEED it but it’s only in the background somewhere or its not a beauty shot, would be to use render layers and on a second render layer render a normal window the SSS window is but only use transmission with roughness. Then just overlay the specular pass that hits the ground plane from the second render layer back into the first. This requires a bit more time for setup but once its done it will save you render time til the end of days.

1 Like

Then there’s still a bug, but the bug is with specular and camera rays, which can ultimately pass through an SSS object to reach the light behind it.

Whatever it does, SSS ought to be treated consistently by different kinds of rays.

But if you get rid of those camera rays, then there go your nice red ears.

I see. Has this been a bug for long? I just did a bit of digging and the only SSS shaders I found where this occurs are shaders where people faked the SSS. I cannot see this effect on any SSS shaders using the official subsurface BSDF node. I may try layer downloading 2.7 and seeing if I can make it happen.