reference
materialAdvanced Lighting in Lightwave
by Adam Sanders
Part
1 – How the lights work
Light
is so complex. I'll probably spend
the rest of my life as an animator thinking about light and never really understand
every aspect of its behavior. But
I do understand a few things. So do
you, no doubt. Lightwave however,
understands less than either of us. Default
lighting in Lightwave is flat and boring and makes it very easy for the average
viewer to realize that they are looking at computer animation, and not real
filmed objects. Luckily, Lightwave
is VERY flexible and can be fooled and cajoled into fulfilling our dark purpose(s).
Let's take a look at some examples of the default lights available
in Lightwave v7.5c.
Note: I have turned on Raytrace shadows
and medium anti-aliasing but have left all other settings at default. This means that the crappy ambient intensity
setting under the global illumination settings box is left at 25%.
![]() |
Distant Light

The first
light is a Distant Light at 100% intensity. It's supposed to mimic sunlight but doesn't quite get us all the
way there, if you know what I mean. The
Distant Light projects light orthonographically from one direction. The more
perpendicular a surface is to the direction of the light's path, the more
intense the effect of light becomes. Surfaces
that are more horizontal to the path of light receive less light.
Surfaces that are obstructed by other objects receive no light.


The second
light is the omni-directional Point Light. The way it works is similar to the way the
Distant Light works, except that instead of calculating how perpendicular
surfaces are to a constant (reference\global) angle, Lightwave draws rays
from the single point light source to the surfaces and calculates how perpendicular
any given surface is to the ray that hits it.
This is what I consider to be one of the two worst lights at default
usage. No light in the natural world
emanates from a 0-dimensional point like what happens here. Even light bulbs (without that frosting on
the inside to make them "softer") have that little filament which
is sort of a little glowing line. The
closest thing around are those little LED lights, and if you are ever in a
dark room lit by only one of those lights and your eyes adjust to the low
light, things start to look less like reality and more like computer animation
(it's sorta fun). It's very obvious
in this picture that we are looking at computer animation, but then again
you might want this in one of your animations.
You may now think that the Point light is the worst light, but you
will hopefully learn that it is the Mother of all Lights. If you're clever and know how to use it right, you can create the
effect of any naturally occurring light with just point lights. Believe me.


The third
light is the Spotlight. It
is a variant of the point light only it is not omni-directional. We also have the option here of using "Shadow
map" shadows. I think that Lightwave
uses the spotlight like a sort of "camera of light."
Stay with me here. When you use a spotlight with shadow maps,
it takes a 2D picture of the visible scene from the light's point of view
(POV), taking perspective angles into account and noting where one object
overlaps another from that POV, then projects the image as a "texture
of light" back onto the surfaces. This
is why it's called Shadow Mapping. If there is nothing overlapping an object from that POV, the spotlight
drapes light onto that object in a uniform manner from that 2D POV. However, if for instance Object A obstructs
part of the view of Object B, the spotlight's shadow map uses the image of
Object A from its POV to "key out" light from that area, thus creating
the effect of shadow. It can also
blur the image of Object A so that its shadow appears "soft." Spotlights still suck because they emanate
light from a 0-dimensional point like point lights. Also, shadow maps are never 100% accurate. Sometimes they get accidentally mapped onto
surfaces that do not correspond to the originating object (like Peter Pan’s
shadow in the Disney version).


The next
light is called a "Linear Light," and that is exactly what
it is. It's much nicer than the previous
lights because it's sort of a 1-dimensional light. At least it's not 0-dimensional.
Think of it like a bunch of point lights arranged in a row. Not only does it project light perpendicularly
onto objects, but I think it also projects light rays in a finite number of
obtuse angles from a finite number of points. This creates two definable zones of shadow.
The first zone is where no rays can reach, therefore creating an area
of true shadow called the “umbra.” The second area is one that some rays can reach
while others cannot. This area is
called the “penumbra” and is responsible for the “soft” shadows of the linear
light.

The final
light that Lightwave 7.5c offers is called the "Area Light." This is simply an actual 2D version of the
1D linear light, which is in turn a 1D version of the 0D Point light. Like the Linear Light, it has two zones of
shadow called the umbra and the penumbra, thus resulting in softer shadows.
The effect of Area Lights is much better than the previous lights because
it is the closest to the way light works in the natural world.
The problem with it is that it is still only 2D, and every object
in the natural world is 3D. Also,
Area Lights and Linear Lights take longer for Lightwave to calculate, especially
if you are using motion blur and other multi-pass rendering options that one
uses when trying to achieve a realistic computer generated image. If you are
using Linear or Area lights in an attempt to mimic real-world lighting effects,
it is safe to assume that you would also be using motion blur (and possibly
depth of field) to achieve a realistic image.
There are different ways of achieving the same lighting effects of
linear lights and area lights and additionally actual 3D light sources that
use less CPU clock cycles by using point and spot lights in conjunction with
the process that Lightwave uses for motion blur.
Remember that all perceivable things in the natural world are 3D, including light sources. It is common to think of a light source as a having a “point” of origin, and that all light from that source emanates from that 0-dimensional space. But a more accurate way of thinking about a light source is to visualize an actual 3D object, one composed of an array of points that each emanate light so that each point has its own unique line-of-sight. This array is the origin of the umbra, penumbra/soft shadows which the linear and area lights attempt to mimic from the natural world. In order to produce a computer-generated lighting system that affects objects like in the real world, we have to make it act like light does in the real world (or at least a reasonable facsimile). Let me simplify that previous sentence into an even broader generalization: In order for things to look real, they have to act real.
In the real-world
photography process, a camera's shutter is open for a certain amount of time,
and then closes to expose the film to the image that the lens sees. The amount
of time that the shutter is open can be thought of as truly linear
- that is, there is a beginning point and end point and infinite number of
points in between. But Lightwave's
camera captures a 0-dimensional representation of time (there goes Lightwave’s
0-dimensional tendencies again) - that is it captures only one infinitely
small slice of time. (Actually, every single "thing" in Lightwave
is 0-dimensional - the only way things become more dimensional is through
relating to each other. Blame computer
programmers.) In an attempt to compensate
for this, Lightwave programmers implemented a multi-pass rendering system
to capture multiple 0-dimensional images to simulate film motion blur.
What happens is this: Suppose that we making an animation at 30 frames
per second, with low anti-aliasing and motion blur on at 50% (the default
setting for motion blur once you turn it on, which is a fine setting actually).
If we want to render frame one, Lightwave’s low anti-aliasing motion
blur renders full images at frame 1, 0.5, 0.625, 0.75, and 0.875. It went
back to 0.5 because the motion blur setting is 50%, which means that it goes
back 50% of one frame and adjusts increments from there.
Lightwave then averages the results of the five images together and
voila! Motion Blur! Sorta. Check it out:

The higher anti-aliasing setting you choose, the more points in between 1
and 0.5 are rendered and averaged together, thus resulting in a “smoother”
motion blur.
So what
does motion blur have to do with real world lighting? Well, it turns out that inherent in the way Lightwave simulates
motion blur is a way to simulate real-world lighting effects. Say that we have a point light that is at Point
A in the scene at frame zero, but moves linearly from a different place (Point
B) at frame 0.5. Also imagine that
immediately after it reaches Point B it somehow defies the rules of space
and time and re-appears at Point A only to make the same movement again every
half frame (1/60 seconds at 30fps). If
motion blur is capturing the movement of every object in 1\60 seconds, this
repeated movement will create an effect very similar to a linear light but
in a fraction of the render time! Suppose
that the point light moves in a small circle over and over every 1/60 seconds.
This will create the effect of an area light.
Let’s stop
talking about it and actually do it. Open
up Lightwave Modeler. Create a ball
in one layer and a simple plane large enough for it to cast shadows on in
another layer. Go ahead and give the
surfaces a simple texture if you want, but I’m leaving mine plain gray with
smoothing on the ball. Save this object.
Now open up Lightwave Layout and follow these steps:
Here’s what I got. Additionally I’ve included renders of versions
with an Area Light under the same antialiasing settings for render quality
and time comparisons. All renders
are done on a Hyperthreading Pentium 4 at 3.3Ghz:

3 Point rig, Medium AA: 7.5seconds

Area Light, Medium AA: 38.7seconds

Area Light, High AA: 70.2 seconds

3 Point rig, High AA: 14.2 seconds
One-fifth the render time is not bad.
The shadows in the 3-point light rig with medium AA get a little choppy,
but if you bring the lights in closer or raise the AA to high, they won’t
be. Notice the difference in the shape
of the shadows between the 3-Points rig and the Area light renders.
This can be accounted for by the fact that the Area Light is a 2D source
while the 3-points rig is a true 3D source.
The 3-light rig is much closer to shadows that would come from a real
glowing orb in space. However, the
setup demonstrated here is not necessary for all situations. If you are working on a scene with multiple
light sources or distant light sources, you can get away with just one or
two rotating point lights.
Part 3 - Mimicking real-world global lighting
In the real world, light does not simply hit objects and then bounce directly to our eyes or die. It bounces off one object, then another and then maybe it finds its way into our eyes, almost exactly the same way that sound echoes. It really is a mess out there. If light didn't bounce, all natural settings having only one light source (such as outdoors during the day) would be much darker and shadows would be truly black. Usually, bounced/redirected light can be responsible for 50-100% of the light we see on objects. The behaviors of light in natural world really seem chaotic, but chaos is not the nature of computers (although it may seem like it). The effect of bounced light in the natural world creates the phenomenon known as "radiosity." Radiosity is the effect of light from an originating source hitting an object and then bouncing off or being redirected and adding to the lighting of another object. The most famous effect of this is moonlight. When I was young, my older brother explained to me that no, the moon wasn't actually making its own light, but instead it was reflecting light onto us that was produced by the sun which was way on the other side of the world. During the day, sunlight hits the atmosphere and clouds and gets redirected so that it seems to come from many directions. It also bounces off objects on earth onto other objects. Sometimes, like on an overcast day, there is very little direct lighting and everything falls under the penumbra (discussed in part 1) resulting in objects that seem to have no shadows or very faint, very soft shadows.
In order to mimic this phenomenon in 3D graphics software, we must come up with some way of simulating a ubiquitous or ambient light source, one that seems to emanate from every which direction. Animators seeking to create realistic images have been well aware of the effect of bounced light for some time and have invented many ways of simulating it. Some methods are more realistic than others and some require much more rendering time that others. The least realistic is Lightwave’s default Ambient Light setting, found under Global Light settings. Crank this all the way up to 100% and turn off all lights and you will get a 100% flat image. So if we leave it on 25%, won’t we get a 25% flat image? Yes. When you desire to create a realistic image, always immediately turn this setting OFF! The second easiest method, but also the most render-time consuming, is to actually enable Lightwave's (excellent) radiosity renderer. However, on today's sub-10Ghz machines this can result in incredibly high render times. There is an option to use HDR images in conjunction with something called "background only" radiosity to reduce render times. But even on my super-duper 3.3 Ghz HT Pentium 4 render times can get above 20 minutes a frame.
We're going to set up a scene now and use rotating lights to mimic global lighting and a little bit of radiosity. Go ahead and open up Lightwave Layout then follow these steps:
Now we're going to do some tricky things with the lighting. Cows like the outdoors, but they don't like being too hot, so we're going to make it a sunny but sorta overcast day. Bessie's been a good heifer, so I think she deserves it.


Render time: 24.1 seconds @3.3Ghz.
I think that this image looks pretty good, particularly the shadows on the cow. The shadows on the ground could be better, so I'm going to make a change. I will clone all three distant lights twice each, and change the first set (5-7) to spotlights with negative intensities of opposite values to their original values, and the second set (8-10) also to spotlights but keep the intensities and change the shadows to fuzzy shadow maps. Do not move them. Then, change the object properties of the cow so that it does not cast shadows (this specifically means raytraced shadows only), and change the properties of the ground so that it does not receive light from the distant lights. Crank the AA down to medium since high is no longer necessary with the fuzzy shadow maps, and you should get this:

Render time: 19.4 seconds
@3.3Ghz
Here's
the scene file if you want to check it out. You'll also need my ball
and floor object file to see the scene. You can choose which you think is
a better image/technique.
web
page contact: Vonda Yarberry
SMSU
- Computer
Animation Resources Home