Is a "Control Freak" Cycles Glass Possible?

Is it possible to control every aspect of how glass behaves in Cycles with a light-path driven node setup? (Seems there are some properties that aren’t accessible via the glass shader node itself. So there has to be another way.)

I’ve got a start on something like this, but I’m sure it’s still not exactly ideal or finalized.



For instance some of the stuff that wrangles control over light absorption or shadows (too strong by default in most cases) also may mess with caustics properties. In the setup I have, it’s not hard to get around though, just a matter of muting mixers and trading one behavior for another. Some other things in the setup may also be changed to color ramps, as I’m sure that can get even more finesse. No plans on RGB splitting in this case even though some experiments with it are interesting. (Makes neat effects, but way too slow/noisy.) I’m also pondering if there’s some productive spots to add gain (forcing color values over 1.0, either with combine RGB values direct-input or color brightness/contrast filter), as I’ve seen glass react to lighting in interesting ways by using it in the past.

I may give this a try - but one thing that did occur to me.

You are using the glass shader - but have a separate node group highlights using fresnel reflections. The glass shader itself has some reflection also - so you are kinda doing the same thing twice.

Have you considered using the refraction shader instead of the glass shader. I did a quick test using the glass shader as you have done - or using the refraction shader. The refraction shader setup rendered faster.