Cycles Light dont shine trough glass?

Hey Guys,

I created a frosted glass kinda texture for some ground lamps in a kinda cave-landscape. The effect I want to reach is, that the light shines on the ceiling of the cave.

what I want:

what I have:
Screenshot 2021-10-12 095921

I turned the light till 1 MW but there is no difference to no light.

I don´t know what I do wrong - maybe some of you can tell me.

Big Thanks!

Hard to tell since you have not shared your scene or how you setup lights or glass material. I would say that you don’t really need to put lamp inside the glass but above the glass. That is much easier for cycle to calculate than light transmission through glass.
After that put emission shader on the glass and it will look like its glowing.

Hi! First of all thank you for your help!

This is the scene:

I´ve a node group with some voronoi and noise textures to create this frosted glass look:

Dumb question, to which panel should I ideally connect the emmision shader?

You can use mix shader to mix glass and emission shaders (in the node group)

I did 0,5 factor mix shader with an emission strength of 1.0 but unfortunately there is no difference:

I also tried connecting volume scattering with the world output, cause I read online this might help, but in this case too no difference.

Did you move light outside the lamp?
Connected like this? (here only light is coming from emission shader on the cube)

I´ve the theory that some adjustments in my blender arent right. I build up the same scene as you (only light from emission shader on the cube) and it looks a way worser:

The light in my picture looks flat and not so glowy as yours. But i really don´t know why

It could be few things. Check first…
What are your other lights in the scene and what is your global light (World light)? You can put black for world color if you want total darkness.

What Color Management you use? I use FIlmic Log Encoding base with Very high contrast

You can download and view how to install Filmic here.

Big read ahead if you want to learn. Otherwise there’s a TL:DR at the bottom

When you place glass between your scene and your light source, you turn all the light caustic. Caustic light is light that has passed through or off some reflective or refractive material (the lensing on your lamp geometry), before bouncing off a diffuse surface (your cave walls) and into the camera.

Traditionally in path tracing, one of the first steps upon bouncing off a diffuse surface is to cast a shadow ray towards a light source to see how illuminated the surface is before bouncing off to other surfaces to gather global illumination. A shadow ray is simple: it’s a straight line from surface to a light source, and if it encounters anything other than a Transparent material it considers the surface to be in shadow.

The important thing to note is that Glass isn’t the same as Transparent. Transparent materials don’t change the direction of a path. They go through in a straight line and maybe pick up a bit of tinting on the way. Glass is refractive, it will change the direction of a light ray. Ergo, a shadow ray is blocked by Glass.

Cycles sucks at tracing caustic light. Have you ever tried to render a gemstone or a crystal or something? You need to throw thousands upon thousands of samples to cleanly render caustics. Some people just disable caustics to avoid the noise, and fake it with other methods.

They way you have your scene set up is causing the entire scene to be caustic. If you’ve disabled caustic light paths in the render properties, you won’t get any light at all in your scene. If you enable caustic light paths, you will have a ridiculous amount of noise and will need to render tens of thousands of samples.

My suggestion?

Have a look at the Light Paths Node. This guy is a cheat code to clean, fast renders. With the Is Shadow Ray output, you can tell your shaders to let the shadow rays through without interference, while keeping your fancy looking lamp geometry. It’s easy peasy. All you need is the Light Paths Node, Mix Shader Node, and a Transparent BSDF node, then you do this:

This should go on the glass material you’ve created for the lens. Just replace the node that says “Your Node Group” with your existing node tree. You can hook up the displacement directly to the material output. You can tint the Transparent BSDF if you want to color the light, or you can do that with the light itself.

TL:DR - Light Paths Node is your friend. Copy nodes above


if i remember well only spot light can go through glass
and again it will attenuated a lot
others lamp type won’t work

so better set your light source outside your glass

and forget more or less about caustic in cycles
better use Lux or Yafaray for this caustic effect

have fun
happy bl

1 Like

While I agree with you on caustics, the information re: spot lights on glass is incorrect, here is a quick scene with a point light and area light passing through glass:

last tests i did were in 2.79
may be this has change in 2.9 !

i can try to find the rest file i did long time ago

happy bl

Man I don´t know how to thank you enough! This helped me a lot to get an understanding how light in blender works. Im still a complete starter but so happy to get such worth explanations and tips. Big big Thanks!