Hi all! I noticed that the glass shader behaves quite well in most situations but when trying to render a large office building (or similiar) I’ve noticed an issue. When using the principled BSDF in cycles, all the diffuse and glossy bounce light from the ceiling and walls disappears! The only thing you can see is the emissive point light itself. I tried using the light path trick (adding shadow and reflection rays together and using it to mix between the principled shader and the transparent shader but this still didn’t work for me.) Any ideas?
Here’s a super basic sample scene rendered in cycles
There was something with the glass shader (long before principled shader) and light, rendersettings … hmm was it light paths… transparency/transmission or clamping durect/indirect…
It’s your shader. Try some combinations between Glass, Transparent and Refraction shaders. CG glass is always difficult. You can find a lot of free Blender glass materials online, tweak some of them to get better results.
Light threshold looks high. Stick with the default of 0.01 unless you really know what you’re doing. Same with min light bounces and min transparent bounces. Are you sure you need these or are they attempts on fixing an issue? Light path/bounces also look excessively high. I never clamp anything until I run into serious trouble.
Note that I’m faking glass to avoid having to rely on caustic light transport, so the next part may not apply. My fake glass is Layer Weight/facing → power 5 → add 0.05 → Shader mix that mixes between a transparent and sharp glossy shader. The “fresnel curve” is very close to real fresnel, but you don’t have to worry about being forced to use glass with thickness, caustic light transport, shadows react appropriately, and you don’t have to worry about normals or getting a Snell’s window fresnel response.
Thanks everyone! all your suggestions have lead me to a few different solutions.
I tried the fake glass shader and it works quite nicely. In the end it seems that the easiest solution is to change the default indirect light clamp value. It’s set by default in 2.9 to a value of 10.00. Setting it to 0 fixed the issue (but this would probably cause more fireflies in an animation.) Since I’m just doing still images for now I’ve decided to take the easy route and use the principled bsdf and turn off clamping and caustic blur. Now it looks correct in cycles!