Page Information

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Multiexcerpt include

...

MultiExcerptName

 

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 caustics enabled in the standard_surface shader assigned to it. The scene uses a plane that has a high emission_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. 

Info

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/specular reflection/transmission 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/specular reflection/transmission 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/specular reflection/transmission 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.

 

  • Start off by opening the Maya scene file Refractive-Caustics_Start.ma. The scene contains a basic object to start off with. Create a polygon floor plane and position it underneath the mesh.
Center

Image Removed

 

Emissive Plane

  • Create another plane and position it above the mesh as indicated below.
Center

Image Removed

 

  • Assign a standard_surface shader to the polygon plane above the polygon mesh. This will represent our light source. Decrease the base_weight value and increase the emission_scale to around 10.
Center

Image Removed

 

Mesh Shading

  • Assign a standard_surface shader to the polygon mesh that we want to generate the refractive caustics. We are going to make this a glass shader. 
  • Lower the base_weight to 0. Lower the specular_roughness to 0 and increase the transmission_weight to 1 and change the IOR to that of glass (1.5). 
  • Next we will add a colored tint to the shader. Create a 2d ramp and add some interesting colors to it.
Center

Image Removed

 

Center

Image Removed

 

Refractive Caustics

To see the refractive caustics through the glass, we must enable them in the Standard Surface shader that is assigned to our glass mesh. Caustics can be found under Advanced in the standard_surface shader. Enable Caustics.

Center

Image Removed

 

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

Center

Gallery
includeLabelcaustics
sortname

 

Noise

To reduce noise in the caustics, you must increase the number of GI_Diffuse_Samples

Center

Image Removed

 

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. 

HTML Table
classimageTable
Table Row (tr)
Table Cell (td)
colspan50
Center

Image rollover
0top-caustic-3-samples.gif
1i
Image rollover
0Top-Caustic.gif
1-

Table Row (tr)
Table Cell (td)
width50%
Center

Diffuse samples: 3

Table Cell (td)
width50%
Center

Diffuse samples: 6

 

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 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.

synopsis
nopaneltrue
PageWithExcerptA5ARNTUT:Refractive Caustics using an Emissive Shader

The scene file used in this tutorial can be found here.

 

Multiexcerpt include
MultiExcerptNameworkflow
nopaneltrue
PageWithExcerptA5ARNTUT:Refractive Caustics using an Emissive Shader