A double-edged sword

In keeping with the theme that reflections can be expensive in rendering terms, let's have a look at Raytrace reflection attenuation.

Reflections are just light bouncing off surfaces and, therefore, must obey the same laws of physics as any other light.  Light attenuates or diminishes according to the Inverse Square law; inversely to the square of the distance from the source (1/d ²).

When you apply a Raytrace map to the reflection slot of a material the default settings result in the extremely strong reflections that appear unrealistic and intense.  Max users tend to reduce the Amount setting to dim the reflections, which certainly reduces the intensity but doesn't make them appear more realistic because objects close to the reflecting surface are just as visible as objects far away from the surface.

Using the Raytrace Attenuation can make the reflections both more convincing and much more efficient.

Too many choices

If you expand the Attenuation rollout in the Raytrace map you'll see that there are several options in the Falloff Type drop-down list; Linear, Inverse Square, Exponential, and Custom Falloff.

It would stand to reason that Inverse Square would be the most realistic choice, and while that may be true it's not necessarily the most efficient because the math involved in the calculations can increase render time.  I've found that Exponential offers the best balance between efficiency and control.

Exponential Falloff Type

In the Exponential falloff Type you have a Start and End range value that is measured in system units, by default inches.  The reflection start at 0 inches from the surface and attenuate exponentially out to 100 inches.  Objects beyond 100 inches are not rendered in the reflection.  This is where the efficiency comes in; once the renderer has calculated the reflections for those 100 inches it can move onto the next object's calculations.

You'd seldom change the Start value, but you could hold a full reflection out to, say 24 inches, before having the attenuation kick in.

There is also an Exponent numeric field that determines how quickly the reflections diminish over the 100 units.  At the default setting of 2.0 the results are a smooth transition and very seldom have to be changed.




The Raytrace Attenuation along with the Maximum Depth discussed yesterday will allow you to use Raytrace maps more freely to get reflections on surfaces that you'd normally not bother with because of the added expense to render time and the unconvincing look. 

To summarize I usually leave my reflection Amount set to the default 100 and adjust my Attenuation settings until the reflections fall off the way I want.  Sometimes this results in reflections that are still too strong right at the reflecting surface, so I then go and reduce the Amount to diminish the overall reflections.