With the correct setup, caustic effects are possible using MtoA. This short tutorial goes through how to setup a scene that contains a 'liquid' mesh with Refractive Caustics enabled in the Ai Standard shader assigned to it. The scene uses a plane that has a high Emissive Scale value which produces the 'Refractive Caustic' effect. Note that 'hard' caustics from small but bright light sources (e.g., a spot light through a cognac glass) are not currently possible. 

Arnold uses simple, uni-directional path tracing. Rays start at the camera, not at the lights. Arnold does not use bi-directional path tracing (nor any other bi-directional technique, such as photon mapping, which fires rays from the lights). When using standard lights, like point lights and spot lights, which are idealized lights with zero area, i.e. point lights, it is simply impossible for Arnold's GI/reflection/refraction rays to hit the lights. Therefore, there are no caustics. However, it is possible to turn point lights and spot lights into finite-size lights by increasing their 'radius' parameter, which makes them spherical lights, which give beautiful soft shadows and soft highlights. It should then be possible for GI/reflection/refraction rays to 'see' those lights, right? Well, no. In Arnold, lights do not have a corresponding geometric object that's stored in the geometry database that rays traverse during ray-scene intersection. So, area lights are still invisible to GI/reflection/refraction rays. 


Instead of using Arnold's standard lights, you can create a polygon mesh, give it a flat emissive shader, and let the GI engine 'find' that light. You will then get caustics. However, this is very inefficient, because small emissive objects are hard to hit. You would need many rays, or a very large emissive object, for this noise to be acceptable. That is why the user guide states that we can do 'soft' caustics, as coming from big emissive objects.



Emissive Plane



Mesh Shading

Disable Opaque in the Arnold attributes for the glass polygon mesh





Refractive Caustics

In order to see Refractive Caustics through our glass, we must enable them in the Ai Standard shader that is assigned to our glass mesh. Caustics can be found under Emission in the Ai Standard attribute editor. Click on Enable Refractive Caustics.


In the images below you can see the difference when enabling Refractive Caustics.



To reduce noise in the Refractive Caustics, you must increase the number of GI Diffuse Samples


The animations below show the difference between rendering Refractive Caustics with three and six GI Diffuse Samples. Be careful when using this attribute as the render times will increase dramatically when you increase this value. 

Diffuse Samples 3 (3 mins 15 secs)

Diffuse Samples 6 (16 mins 55)


That's it. You are ready to render. Have a go at rendering some other objects. Things to consider when using this method are:

  1. Fine tuning the right amount of Emission for the geometry that has the Emissive shader assigned to it, otherwise you may encounter a lot of white noise.
  2. Increase the GI Diffuse Samples to reduce the noise further.





Many thanks to Peter Shipkov at SOuP Development for providing the Maya scene used in this tutorial.