Well, as you might have guessed, caustics converge very slowly in cycles- meaning, if you want them to look good, you will need many samples to get rid of fireflies. Clearly this is why the ‘no caustics’ button is available in the renderer- a must if you’re using cycles for animation.
But: shadows from e.g. a glass monkey look awfully dark without caustics. Witness here:
So what to do? An ‘obvious’ trick is to use the incredible ‘light path’ node in the material node editor. Mixing a transparent shader and a glass shader using the ‘Is Shadow Ray’ output means that only shadows will use the transparent shader, while the rest will use the glass shader. This allows us to dial in the opacity of the shadow by varying the darkness of the transparent shader. Cool!
But, in the back of our minds, we all really regret missing those caustics. Enter the trick discovered on BA for making lights: use the dot product of the incoming and normal rays (this is basically getting the angle between the normal and the light ray) to a ramp. The multiply node allows to increase or decrease the intensity. Voilla! totally unphysical, yet very acceptable caustic effects, without the fireflies.
pretty good looking. It’s not ever going to look exactly like the real thing (obviously) but it is usually enough. The node tree for the setup? A mere bagatelle: