Light will not penetrate glass

It just wont.
I’m using cycles, a spot light, and a glass shader on a thin mesh.
The light does not make it through the other side.

The light does not make it though the glass at all.

Could you post a .blend?

Any lighting effects on the “other side” of the glass will be caustic effects. So, make sure the spot light has “Multiple Importance” checked and refractive caustics are enabled in the render settings.

Alternatively you can disable caustics and use a custom glass material that uses a transparent shader for the shadow rays (Light Path > Is Shadow Ray to drive a Mix shader).

Left: Pure glass shader + Multiple Importance + caustics enabled + ridiculous amount of samples (caustics = costly)
Right: Glass/transparent mix driven by Light Path + caustics disabled + very moderate amount of samples

make sure the spot light has “Multiple Importance” checked
refractive caustics are enabled in the render settings.

Result is still the same, light will still not penetrate glass, and this time I tried it on a fresh install of Blender 2.74 on a whole different computer.

Again, using normal glass shader.

Why is it not working? Also, could I get a node screen shot of the second glass setup you showed me? Lite glass would come in handy.

1024 samples with 0.5 glossy blur

Can’t see the attachment, but I can confirm glass is behaving like a fully opaque material.[SUB] The caustics work a little better with a curved surface but I think that, in absence of caustics, glass should not be opaque.

Should it really be necessary to do that kludge with shadow ray info?[/SUB]

Well, IMHO caustics is all there is after light passed through a refractive surface (physically speaking). So, if caustics are turned off, what is Cycles supposed to render? Unfortunately Cycles is in no way optimized to render caustics (yet) - if you need those, you will have to use another render engine.

And I wouldn’t go so far as to call the Light Path node “kludge”. One of the benefits of Cycles is its astounding flexibility. And at the core of that flexibility lies - among others - the Light Path node.

Other than that: Why use a refractive shader on an object with an absolutely negligible refractive effect (like a flat piece of glass) in the first place? That’s a waste of render resources to begin with and would be much better dealt with by using a glossy/transparent mix shader. That would look exactly the same, but would converge much faster.

There are 8 major issues I see in this blend.

  1. Apply the scale on the window. ctrl-a scale.
  2. The glass is almost a foot thick. edit mode, scale on y to make it thinner.
  3. Change the ior of the glass to 1.5
  4. Change the color of the glass to pure white
  5. Wire up the light path node

6)clamp indirect at 1
7) change min bounces to 1, max to 5

  1. Samples to at leats 150, it’s almost clean at 150 here:

In the Object context of the glass mesh, turn off Shadows under Ray Visibility.
Correction: This is good for window glass, but not in this case because no shadows. But then, the Light Path node does not allow the glass to cast shadows either.

Cool stuff! This simpler shader will work ok, but I’m curious if anyone has a current and simple way to get fake caustics.
Obviously this wont look as good as real caustics, but it will look better than this.

Also, I’m curious if the roughness of the glass would effect the light on the other side in real life, and if some math nodes or some such could replicate this effect if it’s a thing.

Breakthrough time!

Here is what the fake caustic shader I found and bootlegged for myself look like.

64 samples

Here is the node setup.

My only issue is that I feel as if not quite enough light makes it though, or the ambient occlusion is causing some unwanted shading in some areas. Can you see what I’m saying? It’s a bit more apparent with the spotlight.

Anyways, if you think it’s an issue too, do you have any ideas on how to adjust that?

there’s some superfluous nodes in your material…

First the ‘Refractions and Glass’ panel, can be just replaced by a glass shader (as the mix factor is just letting the glass shader to pass through, and also because glass is already a mix of refraction and glossy).

Second, there’s no need for a volumetric node (‘transmittance’) specially if density is 0.

Third, there’s no need to have the math node for the IsShadowRay, if you’re just to multiply it by 1.

Fourth, you can use the LayerWeight:Facing instead of having a cross product of the Normal and Incoming vectors.

I’ll make some adjustments, I’m leaving some of those properties in there because it’s a multi-shader, going to group it all so I can play with the values I want.

Also, Do you know much about simulating the caustic bounce light that is left out when disabling caustics?

I’m trying to incorporate this into one of my multi-shaders, does this trick still work?

I’m trying this trick right now, but the results don’t look like they do in the tutorial. While it is adding back in the same sort of light, it’s a lot brighter than it should be…

If I make the diffuse color much darker, like .01 for RBG, it looks close, but why do I have to do that when it works fine in the tutorial?

Also does the color of the diffuse matter? I get the feeling it’s supposed to be grayscale only, because changing the color makes it wonky looking, but then again, what if the glossy is a different color? Does that change things?

The multiply currently takes the color value of the glossy shader and reduces it, if I don’t do this is looks colorblown.

Am I doing this right?
Why did the tutorial not need to do this?

I don’t think this works anymore.

It does not look like it does in the tutorial, I have to multiply the color value by .01 to make to look similar, and even then some areas are just wrong…

I’s not looking like the images from the tutorial.

In fact, just using reflective caustics looks pretty smooth with a blur of .5 and renders in the same time.