home about gallery publications education links contact

..::reflective caustics::..

Note from the author: This article was written with 3ds max 5 in mind. It should be noted that later versions of 3ds max contain the ability render caustics due to the inclusion of the Mental Ray renderer.

Looking at the base package, it’s easy to see why people go along the third-party plugin route when looking to produce realistic caustics. Nine out of ten times, it’s just a simple case of settings a couple of values and clicking render – not much skill is required and effective results can be achieved. Although these look good, normally render times suffer as a result; sometimes reaching several minutes to even hours.

Before, we had to be content with faking these caustic effects using volumetric lights (for volumetric caustics – caustic effects in fog) and / or projector maps of the object’s specular info from the key light source assigned to a duplicate light to cast a bright projected light only onto the relevant surface(s).

With 3ds max 5, the introduction of Light Tracer and Radiosity advanced lighting systems changes the game slightly. Reflective caustics, such as from contoured metal surfaces or water can be produced, but refracted caustics still have to be faked. So what has changed? Light Tracer can bounce light off surfaces and also allows for tinting of this light to simulate radiosity. By increasing the amount of specularity in the object’s material, we can increase the intensity of the bounced light. With a curved surface for example, this light can form at a focal point, and as light is additive a more intense point of light is visible.

However, with a standard Blinn shader setup, our caustic bounced light is blurred and not focused. The way around this is to use an Anisotropic shader as this focuses the bounced highlight. Even though this can produce an effective caustic, getting the caustic effect right means sacrificing the designed (normal) specular settings, which can make the material appear different from what we want. To solve this problem, use a Multi-Layer shader as this incorporates two different specular highlights. One highlight can be designed as normal, and the second set to a small intense highlight with anisotropy. Both should be tinted as necessary. When rendered, 9/10 times the first (larger) highlight will occlude or white-out the intense highlight and the material will appear as required, and the caustic effect will now be properly generated and displayed correctly.

For effective results, we can use raytraced reflections if desired, and although this adds to the render time it results in a convincing effect.

Enlarge Screenshot Open the ca_caustics_start.max file included on the cover cd. This is our basic scene for which we will light and create the material to generate the caustic effect. In the top Viewport, create a spotlight. In the left Viewport, amend it’s position so it’s situated above the rings. Turn shadows on and set to Ray Traced. Check on Overshoot in the Spotlight Parameters.
Enlarge Screenshot Select the ground plane and open the Material Editor. Assign the first material to the plane. Label the second material “Gold Ring” and assign it to all the rings. Change the shader from Blinn to Multi-Layer. Take the Diffuse Level to 0. Set the First Specular Layer colour to RGB 218,195,166 , Level to 500, Glossiness to 70 and Anisotropy to 75. Copy the first specular colour swatch to the second, set the second’s Level to 150 and Glossiness to 20
Enlarge Screenshot In the material’s Reflection slot, add a Raytrace map. As we haven’t got much of an environment to reflect in our scene, we’ll add an extra one with our materials so not only does it reflect the object, but an environment map also. Add a bitmap map to the Raytrace map’s Background slot and load in Lakerem2.jpg which comes with 3ds max 5 in it’s maps\Reflection folder. Set to Spherical Environment mapping and set the Blur offset to 0.05.
Enlarge Screenshot Enable Light Tracer in the Advanced Lighting window. Leave all settings as default for the time being, apart from setting the Bounces to 1. Render the scene. We should now notice the caustic effect caused by the light being bounced and focused. Increasing the Light Tracer Rays/Sample setting will sharpen this up at the expense of render times. You may also want to tweak the sharpness of the anisotropic highlight in the Material Editor to refine it further.
Download the max file! Zip file to accompany

Initially published: Computer Arts magazine, Issue 83, May 2003.

Copyright Pete Draper, May 2003. Reproduction without permission prohibited.