Back Lighting/Translucency (Pseudo SSS) for Cycles?

Hi,

Is there a backlighting/translucency for Cycles much the same with Redshift?

It is a Pseudo SSS and not full SSS which means takes significantly less amount to render. Incredibly efficient on rendering thin objects such as paper, plants etc.

Is a similar workflow available in Cycles?

I’m not familiar with Redshift, but you should look into the “translucent BSDF” which is basically a diffuse shader from flipped normals. (Maybe even exactly that, I’m not sure.)

You would want to mix with another shader (like a diffuse shader) to capture any front facing lighting, otherwise, it wouldn’t be appropriate for something like a piece of paper all on its own.

1 Like

Correct, and to test it try a single light source on a translucent (only) plane and obviously no environment. The translucent shader only lights from the backside. So the correct way to mix the absorption part is to mix diffuse and translucency. For use on flat single faced geometry such as a plane for a sheet of paper, don’t forget to inverse the fresnel IOR for the backface when mixing in glossy in the end.

1 Like

@bandages and @CarlG

Thanks for the response and apologies for the late response.

I was initially confused from the reply such as “basically a diffuse shader from flipped normals” and I was looking in the FlippedNormals website and I couldn’t find anything.
The “inverse the fresnel IOR” was also a foreign concept to me that I immediately dismissed it.
And it certainly didn’t help that the official node set-up for Megascans (at least for March 2020) in setting up leaves was using Transmission instead of Transulency. (No wonder my renders skyrocketed!)

Anyhow, I’m convinced you are right based on the results (i.e using translucency and inverting IOR)
Here is a thread that explains it in more details:

Hahah. I’m so sorry, but that really made my day :smiley:
I disagree with the devtalk page though. The problem is not the translucency shader needing a “thin” option. It’s the fresnel node (and it needs two switches). Inverted IOR means you should supply IOR value for the frontface, and the 1/IOR for the backface, to the fresnel node. So basically;
Geometry/Backfacing -> Map Range Input (From Min 0, From Max 1).
IOR Value node -> Map Range To Min.
IOR Value node -> Math (1 divided by input) -> Map Range To Max.
Map Range Result -> Fresnel IOR input.
When you preview the fresnel node using the driven IOR, both sides of a plane looks the same. If you preview a regular fresnel node with locked IOR, the backface will have a dark center with a white glow around it. This is because that is what you would get if you was inside water looking up towards the surface - it’s called snells window. By inverting IOR for the backface, you’re basically getting the frontface output for both sides.
All that is needed is just two thin switches on the fresnel node for this part of the node to work; one for the surface output gradient, and one for the normal. Sometimes you want the bump to make the material looks thicker from both sides. Other times you want the bump to drive a curvature - up on one side and down on the other.

It’s usually best to use a HueSatValue node between the texture and the Translucent shader. As light passes through the leaf, light is lost (reduced value) and picks up more of its color (increased saturation).

If you have the texture asset, set it up as two completely different materials; one for front and one for back, then shader mix it together using the backfacing output. White Transparency in the end of it all for a mask, although you can mix in a tiny bit of transparency with translucency if you want the solid stems inside cast a more pronounced shadow.

But I don’t have such a texture asset, and I don’t need it for my typical projects. I do make sure glossy is mixed in with a correct fresnel use though.

It seems to me that Blender just doesn’t really handle Fresnel/IOR very intelligently in general, but maybe I don’t understand how it’s supposed to be done, and maybe you (@CarlG) can shed some light?

Like, consider the case of a glass of water. In reality, you’ll get specular off every transition between surfaces, but that specular will be different at the water/glass transition than at the glass/air transition and different again at the water/air transition.

If you make separate, manifold meshes for the water and the glass, you’ll either get rendering bugs if the faces are co-planar, or you’ll get doubled specular, as if there was a thin layer of air between the glass and the water if they’re not co-planar. (Making them not-quite-coplanar is fine for the refraction, any refraction error disappears as the gap gets smaller, but the specular error is always there as long as there’s any gap at all.)

It seems like the only way to do this right in Blender is to have the glass interior cut at the level of the water, with a different material for the water-glass transition from the water-air transition, and a non-manifold water mesh that just represents the surface, so that you can use different Fresnel for each.

But that’s a ridiculously difficult way to set things up, particularly when you start dealing with transiitions that aren’t flat, or that are animated (like if you put a stick into the glass and swirl up the water.) You can’t cut your glass mesh up for every frame, in high detail, to make a separate material. It’s not practical.

Is there some better way that should be handled?

@CarlG

My only gripe with this translucent shader is I can’t use the principled shader. I have to use the individual BSDF which does not quite result the same thing :frowning:

I agree, and I don’t know how I would approach it. I’ve been waiting for nested dielectrics for a few years, but I guess things just takes time. Luckily I don’t have to deal with it at all for my regular render stuff.
But for simpler stuff, like showing partially wet dark bumpy rubber where the specular defines most of the visibile surface structure, I would just lower the specular where it is wet and call it a day.

Correct. You shouldn’t use any regular surface shaders with the Principled shader, unless you only want DisneyDiffuse and do the rest manually. Principled is supposed to create physically plausible materials (not that it does because it not only breaks energy conservation - but adds energy, but that’s another story), not physically correct ones. It’s purpose is not to replace all other means of creating materials (especially transmissive/translucent/thin ones), but a quick way of getting 90% of them done easily and without horrible mistakes. Having it available doesn’t mean you shouldn’t learn the manual ways. It’s only a tool. A multi tool, yes, but not a tool that does everything.

And I did ask for a mixing factor (roughness affected fresnel) and specular color output for the principled should it come in handy, but I wasn’t heard. The point of that was that Principled doesn’t produce the same output as we do when we do the simple “reduce fresnel by roughness” in our own PBR setups.

2 Likes