Arnold uses uni-directional path tracing and so 'soft' caustics originating at glossy surfaces are perfectly possible, as well as caustics coming from big sources of indirect light. The caustics switches in the Standard shader mean that you can tell diffuse GI rays to 'see' the mirror reflection, glossy reflection and refraction from the shader of the surfaces that are hit by them. By default only direct and indirect diffuse rays are seen by GI rays. On the other hand, 'hard' caustics emanating from spatially-small but bright direct light sources, for example caustics from a spotlight through a glass of cognac, are currently not possible.

One possible workaround to render caustics would be to light the scene with light-emitting geometry where you set the values for emission really high (20-100) and play with the size of the emitter. However you would have to use really high sample settings to avoid grain. Other renderers more or less easily achieve hard caustics with the photon mapping technique. At Solid Angle we dislike photon mapping because it's a biased, memory sucker technique that is prone to artifacts, blurring, obscure settings, doesn't scale well with complex scenes and doesn't work well with interactivity/IPR. 

Arnold will require a high number of Diffuse samples to achieve a clean image when using caustics. Care should be taken when enabling these features.

Caustics attributes can be found in the Standard shader

Enable Glossy Caustics

This switch in the Standard shader specifies whether Indirect Diffuse rays will compute Direct Specular and Indirect Specular light components.

Enable Reflective Caustics

This switch in the standard shader specifies whether Indirect Diffuse rays will compute the mirror reflection component.

Enable Refractive Caustics

Enables/ disables refractive caustics. In the images below you can see the difference when enabling Refractive Caustics.

This switch in the standard shader specifies whether Indirect Diffuse rays will compute the refraction component.


Tutorials that demonstrate how to use Refractive Caustics can be found here.

Standard glass shader with 'Enable Refractive Caustics' enabled

  • No labels