Caustics Not Working in Cycles

Here is a an image from a quick test I did on glassware, using the GlassBDSF shader:


The caustics seem to be barely working. There is only one small caustic visible, by the base of the foreground glass. As an additional test, I added a slimmed cube on the right, to simulate a plain sheet of glass. Even it is casting a shadow!

The scene is lit by a single sun lamp, and both refractive and reflective caustics are checked (v2.73). The background is a world image, made from a 360 degree panorama of a room, that I downloaded from a real estate site.

Cycles in general is going to be somewhat weak at rendering caustics because it’s a undirectional pathtracer, but some things you can do to improve the situation.

-Make sure the sunlamp has the MIS checkbox checked
-Set the filter glossy value to something between 0 and 1 (like 0.20).

There’s also a trick that you can use as well as seen in this file.
FGlossy.blend (787 KB)

You might want to download the Blender 2.76 testbuild before looking at it since 2.75 had a bug that prevented this trick from working.

Lux render engine does nice caustics…but be prepared for long render times

LuxRender 1.5 was just released, try it using the Bidirectional Path tracer, it performs better for things like caustics.

Make sure you use the LuxCore API of LuxRender, it’s significantly faster and generally comparable to Cycles in speed (CPU)

Also, if you still ‘really’ want to use Cycles for caustic rendering, one thing I found that doesn’t help at all is the use of the two clamp values in the render settings. You will want those turned off if you don’t want your caustics to be significantly dimmed.

Thanks all, for your help. I tried adding a glass sphere to my test scene, and found that the caustics actually were working.

Really, what I am after, are the specular highlights in glass, that make it sparkle in sunlight. I have already applied the trick of adding a second, much-brighter sun lamp, with “diffuse” turned off, to enhance the speculars. Still, how do I get the multiple speculars created by light bouncing within the glass? And yes, I have MIS turned on.

Would LuxRender be able to do this? More importantly, how does LuxRender do on outdoor scenes, with trees, grass, buildings, distant landscapes, etc? Can it do “hair” and “particles”, which would be needed for grass and trees? Also, does it use a node system, like “Cycles”? Can materials be easily transferred?

Luxrender would be able to do all of the above except allow for easy transfer of materials (it uses a different approach to material building so you need to build them from scratch).