Translucent material and light

I talked about real life. CG only try simulate this.

All materials have holes, and light pass inside this holes or can not pass, because particules too closely.

If you decrease thickness of a paper, then paper can pass too much light. Or you increase particule interval, paper can pass too much light, etc, etc.

Translucency = Light scatter inside the material? Yes. Then we say Translucent.

Diffuse = Light scatter outside the material? Yes. Then we say Diffuse.

SSS = Light scatter inside the material? Yes. Light scatter only one direction? No. Then we say “Subsurface Scattering”. SSS also translucency, but have multi direction, not one direction.

Transparency = Light pass inside the material without scatter? Yes. Then we say Transparent. And in real life, all light rays never pass with scatter. Some rays not scatter, some rays too low scatter.

etc. etc.

Light pass (one direction, not transmission) based on the material thickness and particle interval.

When we try simulate this phenomenons, we must decide how I simulate this effects.

The thing is,that you can simulate transparency and translucency very well from the lit site with Cycles shader.But its difficult to control for the backlit site (where the light exit the material)or better saying,that it fits from the lit and the backlit site at the same time.
And that is due the lack of control and physical light transport within the cycles shader.
We have allready talked about,the missing Total internal reflection calculation in glass shader.Then lack of diffusion control in the translucent shader.The transparent shader is a special case,if you mix it with scattering shader like translucency,then the transparent part stays sharp with outgoing light.So its difficult to mix.
In real if a material is scattering inside then the outgoing light is refracted, scattered too ofc.
The transparency shader is physical correct only if you think about color absorption.But is wrong with scattering.because scattering is redirecting the light.

Ideal would be no need for a transparent shader if you are build a translucent material(For the correct lighttransport direction).
And then the translucent shader need diffusion control (similar to roughness or better scatter density) and HGreenstein anisotropic scatter direction control.Then we would have everthing to setup the shader,without the need to mix a transparency shader.

I would say Transparency is wrong to use also because there is no interaction at the interface. That would change the direction too (if it had thickness). Both for thick and thin geometry Refraction would be the right shader of choice for the transmissive part - not Transparency, but have to use Geometry/Incoming for it’s normal. Transparency to me is nothing more than a mask and utility shader, well knowing about its shortcomings when I have to use it (like for faking shadows when caustics are off). In real life, Transparency doesn’t exist, only Refraction (assuming we’re talking about air/material interface and not two materials with same IOR).

Exactly,in fact the translucent shader simulates a volumetric scatter shader effect.Additional if you think about light effects of glass fibre, where the light gets Total internal reflections, and causes the transport of light to the end of the fibre.This TIR calculation is needed for all the kinds of scattering shader,not only the glass shader,but for the translucent shader too.Otherwise the light transport would be interrupted and some bounces never exit the material in some cases.
And maybe a toggle for thin/thick materials ie paper ,curtains,leafs ect and materials with thickness.
If the dev is holding internal reflections back,because of additional bounces or loops,then i would couple it at least with the glossy or volumetric bounces settings.Or give TIR a own max bounce setting.

I wish we would have a Cycles development boost like Pablo does with the sculpting.
Btw,A additional lightpath calculation from the lightsources would be very neat.Not only from the camera.I bet this would instandly gives good caustics,because its calclulated from the light source.

I think that’s the basis for a bi-directional path tracer, however I don’t think there is any intention to make cycles bi-directional.

There was a discussion with Brecht at dev talk about.He is not against a implementaion of a bi-directional path tracer if someone would work on it,but he has not time to do it.

maybe i find the thread

Hi everybody !

First I would like to apologies because English is not my first language and it takes some time for me to read and understand your replies !

Thanks for the “deep digging” of trying to help me by understanding this light effect :slight_smile:

I guess in reality fabrics are made by a net of fibres (wires).

Depending on what kind of fabric, the light will pass trough the fabrics and/or will be scattered into the fabric, some rays of light will straight pass through holes between the net without any interaction with the fabric and others rays of light will be stopped and/or scattered into the fabric before to go out the fabric.

That’s why I think shadows and light on the floor or walls will be never sharp at 100%. There are always few scattering (rough effect).

In Blender I will use a plane for the curtain, which is not a net of fibers (wires) … So in my point of view speaking about Transparency is not completely wrong (if we speak only about shader).

Indeed I will use a texture to simulate the net. So I will use the alpha chanel to let the light going through the holes but then I need to use a king of translucent shader to simulate the scattering effect of the light into the fibers (wires) itself.

And then I need a control on the way (on the amount of roughness) of the shadow and light which will be scattered on the floor and walls.

I guess, by reading your comments, there is no way to simulate that kind effect with cycles ?? (at least a fast way)

Ok, interesting.

There are other avenues open to creating decent caustics though. The MLT patch that was released a few years ago worked pretty well, it’s a shame it wasn’t kept in even as just an experimental feature (but there may be valid reasons under the hood as to why it wasn’t).

Here in the last paragraph from Brecht’s first post.

Maybe you have seen Lukas explanation about the Specular Manifold Sampling paper and why it is not that easy.
I guess for the same reason the MTL patch was droped.Because it must be animation safe,no flickering ect.

You got allready some answers,what you can try.Cycles biggest limitations are caustics.Because its a pathtracer that samples from the camera view and not from the light source, like other bi-directional render do.Bi-directional pathtracing makes its caustics sampling easyer(it dont need to find a light ray,it starts from it), faster and cleaner to sample caustics.
Additional,the glass shader are not perfect,and the translucent shader neither.

As long as the function is off by default and has a warning that it shouldn’t be used for animation if it is enabled (or you are warned if you attempt to render an animation whilst it is on) - perhaps even keeping it as an ‘experimental’ feature that you have to make a concerted effort to activate - then I don’t see why such a function couldn’t sit happily within cycles.

Many people use Blender/Cylcles for static renders and IMO it makes little sense to exclude such an important effect, just because the methods of implementing it aren’t “animation safe”.

Yes,such patch would be nice to have for stills.if you dont need it,then dont use it.

I have seen some render engine comparsions ,And i think that Cylcles is not that bad.But…If you think about the upcoming features like the animation nodes ect.That gives us a little Blendini.And these Vfx are usally light fx,like explosions, fire ,glowing particles ect.And for this, is a good render engine necessary, that does good light transport.Bi-directional or whatever works,you name it.

Mix diffuse and translucency to max 0.5. Translucency can have increased saturation and lowered value to simulate the thickness of flat geometry representing curtains. From there on you just mix Transparency by the grid mask. For fabric, the kind of blurriness you’re talking about doesn’t exist, fabrics are far too rough and will just about completely scatter the light that passes through the fabric. As for holes created by the grid, these wouldn’t normally be visible at normal shadowing distances as the sun is too big (0.5 degrees, more if through clouds). If you set sun to 0, the pattern will show up as shadows, and probably to somewhere between 0 and 0.5. The stripes in your image going blurry with distance is from the “vertical support threads” that are thicker, and would be a result of the size of the sun, not shading tricks. Ideally you’d want to use very rough refraction (with incoming normal) instead of translucency, but I prefer translucency so I don’t have to deal with refraction caustics for light transport. For SSS, there is no light transport. The only time I use refraction is for materials that has a defined “specular hotspot” for the backside. For the transparent shader, you may want to modulate the “whiteness” based on layer weight/facing. Gradual is fine - it’s not technically correct but I find it impossible to run it through a greater than node for angles where the “simulated thickness” would cause the hole to not align with the shadow direction.

Hi CarlG,

Thanks a lot for your comments and for your help !

I will try it ! :slight_smile: