TITLE: Shadows of Light
NAME: Cliff Kirk
COUNTRY: Canada
EMAIL: cliff_kirk@hotmail.com
TOPIC: Magic
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: probliv.jpg
RENDERER USED: 
    Povray 3.0 for Windows

TOOLS USED: 
    Paint Shop Pro 4.10 image maps, height field creation, ominous
figure...  Turbo C++ 3.0 : complex shape generation.

RENDER TIME: 
    7 hours, 51 minutes. (14,628 frame level objects)

HARDWARE USED: 
    Pentium 133, 32 megs ram

IMAGE DESCRIPTION: 

   "There is no line which falls between light and dark, for they are one.  For
every victory there is conceit and envy, for every failure there is knowledge
gained. Just as for every shadow that lays upon this earth there is a light
from which it was cast.  Those who can rise in these shadows of light will hold
the true magic of existence that is their own."
                      Quoting  Myself :)
   Most people seem to think of magic as either being "good magic" or "bad
magic"...  I myself don't think there would really be such a defined difference
between the two.  That's why I decided to create the image the way I did... You
tell me,  is the figure in the image an evil sorcerer?  A servant of god
himself?  or something that falls between the two with the powers of both
worlds?...


DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 

   Well.. I'm sure that the only people who actually read this part want to
learn some tricks so I'll do my best to explain the ones I used in this image
and try my best to ignore the completely obvious...
   Ok, I know at least one of you is wondering exactly how I made the halo fade
from purple to blue so effectively... Simple trick.. I'm assuming that it's
just not often thought of since I've never seen it done anywhere other than on
my machine : color rgb<1,0,3>  
   Not exactly covered in the Povray bible as I recall, but it works.  My best
guess to exactly what is happening is that rather than the image fading down to
rgb<0,0,0> it fades down to rgb<0,0,2>  making for an interesting effect...
   Ominous figure in light.. Just as easy as you can imagine... sketched it out
on paper... scanned the image (cheapo hand-held gray-scale beast I picked up on
sale.. don't need a lot for a silhouette).. Adjusted it in Paint Shop until I
was happy and then threw it up on a box as a texture with the background color
transparent... Sink the box just far enough into the halo and the figure takes
shape. To be complete in my explanation, the image isn't actually in the center
of the platform but a significant amount closer... (note that I deliberately
removed its shadow to hide this)...  This allows for a strong halo as well as
the ability to still see the figure as if it itself is producing the light..
Since all monitors are more or less 2 dimensional, the true distance can't be
judged by the viewer if the image is placed correctly...  Pretty simple but I
feel it needed to be said...
   As for the smooth curving shapes everywhere, this is where it gets
complicated...  I basically put together a little utility for myself (Turbo
C++) so all I need to do is enter the beginning radius, ending radius, and
points along the curve into a text file.. Then I run my little utility with a
few adjustments controlling the amount of curve and number of iterations...
Essentially, each iteration bisects the line between two points and
approximates where that point will be "pushed" to based on the points around
it.. Once it's generated all the locations it finds the radius at each point
based on the length of the curve, the distance from the beginning, the radii of
the beginning  and end points and then spits out a little include file made up
of a sphere at each point and cones connecting them... All I have to do then is
make the general shape and turn up the iterations letting it rewrite the
include files for the final rendering...
   Dunno if this is the way someone else would do it or if it's even the easiest
way to do it for that matter.. But I'm the one doing it and it's the way I like
to do it :).. I'll probably release the utility  to the general public when I
clean it up a bit (still a pretty ugly looking piece of code, but it works)..
   I'm not going to bother including my source for this one... Anything other
than what I explained is pretty straight forward and the only thing I could
possibly see someone wanting the source for is exploitation and we don't want
that to happen :)..  But if you actually want to know more information about
how it was done your welcome to ask... My email address is on the image...


