[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Theater Arts 101: Intro to Lighting Design

Struan Gray (struan.gray@sljus.lu.se) wrote the other day about problems
Steven Chetelat was having lighting up a polygon object:

>     The following code works pretty well as a default setup and
> simulates semi-directional daylight.  

Struan always has good ideas. This time it was to throw in
a little ambient light to get things "glowing" a bit. Neat.

After I got over the fact that I hadn't thought of something
like that, I decided to hack up a program called Simple_Surface
that I have been working with and writing about for some time
to have more attractive lighting conditions. But I realized
that if I made things too complicated (or mistakenly mentioned
the word "object") that I was going to lose 90% of my audience.
So I made it very, very simple.

There are four lights illuminating the surface. A non-rotating
light positioned to one side of the surface and just above it.
Another, rotating light positioned about where the non-rotating
light is, but on the other side. A fill light, positioned underneath
the surface, so you can see the bottom side. This light also
rotates with the surface. And some low-intensity "ambient" light.

What I did (and I did it quickly, so don't expect too much)
is to whip up a "Light Control" gizmo that allows you to
play with the lights a little bit. You can turn the lights
on or off, change their intensity (0 to 1), and change their
color. You can also change the color of the surface. (See the
controls under the File menu item. And be sure to hit a 
Carriage Return if you change the Intensity number.)

I thought it was interesting to play with the lights and
see what effects they have. I found it especially interesting
to play with different colored lights. (Called "cells" if I
remember correctly. I should have been a theater techie instead 
of an actor.) I don't pretend to know what it all means. But 
I thought if I put something out there in the world someone 
would surely be able to explain it to me. :-)

You can find the program, named LIGHT_SURFACE, here:


I build these things out of parts that are at hand (meaning
in my Coyote Library), but I think I put all the necessary
bits into the code itself. If something is missing, you
can find it in the Library. The Light_Surface code is well
documented. The other stuff less well so, but as I say,
this is just for fooling around.



David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155