Layout

    Soft Reflections


    The Soft Reflections shader is powerfull plugin that can achieve some extremely realistic effects.  It can be found on the Surfaces panel, as a Shader Plug-in, listed as RealiTools_SoftReflections.  In real life, there are very few surfaces that are perfectly reflective.  Surfaces like mirrors seem to reflect exact images because the surface reflecting the light is extremely flat and unchanging.  However, most other surfaces aren't.  At a level way too small to see, the surface is extremely irregular.  Light rays get scattered.  Previously, the only way to simulate this in LightWave was by putting a bump map on a reflective surface and turning on antialiasing.  This has a few problems.  First, bump maps are slow to render in the first place.  Second, the bump map doesn't simulate the fact that any given point will reflect multiple light rays, though you might be able to fake it by using antialiasing and giving the bump map a velocity through the surface.  Even so, the result can best be described as "grainy".
    Soft Reflections overcomes this by taking control of the reflection algorithm on surfaces it's applied to.  Basically, the goal is to reflect a wider area than just that little bit a single reflected ray would see.  To do this, we have to trace multiple rays out into the environment, and that's what Soft Reflections does.  A few things to note are that you don't need to have Trace Reflections enabled to use this, and the plug-in will reflect objects that have Unseen by Camera turned on, so you can render a stand-alone reflection plate if you want to.  Now that you've got a bit of the background of how this works, let's go through the options for this plug-in.
    The first option, Reflectivity, is the same as the LightWave reflectivity option.  The only thing to note about it is that you can also use image maps to control the reflectivity, just like in LightWave.  To do this, turn down the reflectivity to 0% on the options panel for Soft Reflections, and apply the image map in the LightWave reflectivity channel.  Then, to make sure LightWave's reflection algorithm doesn't get in the way, click on Reflection Options, and select "Spherical Reflection Map" for the reflection type.
    Next is Blur Angle.  Like I said above, light rays get scattered on the surface.  By changing this value, you can change how much they get scattered (in degrees).  The higher this is, the softer and less defined the reflections will be.  Common values are anywhere up to about 4.  1 is good for say, a polished wood conference table, and 4 would probably be about right for glossy paper.
    Radial Samples and Angle Steps are so closely related that they need to be explained together.  To get a realistic reflection, the plug-in has to trace rays in a cone shape.  Radial Samples lets you choose how many rays to trace around the edge of that cone.  Another problem is that with wider reflection angles, there's a distinct possibility that some little detail might be inside that cone, where rays don't hit.  To solve this, you can change Angle Steps.  When you do this, the reflection is traced as a set of cones, one inside the other.  When you render, the number of rays that will get traced is equal to:

 
Rays = (Radial Samples * Angle Steps) + 1

This is very important to remember, because Ray Tracing is slow.  Say, for example, you had a Radial Samples of 15 and an Angle Steps of 2.  That means that on every point on the surface, you'd be tracing 31 rays!
    The next two controls, Reflectivity Falloff and Transparency Falloff, change the surface based on the distance between the reflective surface and whatever it's reflecting.  This is in Layout "units".  However, if you set these to something higher, the surface's value will fade as the distance between it and what it's reflecting increases.  The greater the distance, the less reflective a surface will grow, and the more transparent it will be.  If you don't want to use these, you can leave them at 0.
    Knowing what you know about the tradeoff between quality and speed, you'll probably want to keep the number of rays down by using lower settings.  However, this introduces another problem, "Stepping".  This occurs because you don't have the settings high enough, and the plug-in only can do so much with what you'll let it trace.  However, the next option, Jittered Sampling, lets you add a random rotation to each ray traced out.  This will help the "Stepping" problem considerably, particularly if you use antialiasing with it.  Here's an image using antialiasing and Jittered Sampling.  See the difference?  There's still some stepping, but it's not nearly as bad as before.
    Change Reflectivity with Reflected Brightness   This option basically does what it says.  The formula Soft Reflections uses to blend the reflection with the surface is different than LightWave's.  LightWave's is additive, and can quickly get way too bright, while Soft Reflections will actually replace the previous values on the surface, and it looks better.  By enabling this, your surface will get more reflective when the reflection is really bright (100% reflective when it's pure white), and less reflective when the reflection is dark (0% reflective when it's pure black).
    The Change Transparency with Reflected Brightness option is very similar.  If you look at a window, you'll often see reflections that are more "ghosts" than full-on reflections.  Using this option, you'll have a surface that's opaque when the reflections are bright, and transparent when the reflections are dark.
    Finally, if you find that you think the Soft Reflections formula for blending the reflection isn't to your liking, the Use Traditional LightWave Reflectivity option lets you go back to the old way.  If you enable this, the two options above it to change transparency and reflectivity by brightness don't do anything.

 Back