Layout
|
![]() |
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:
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.