EMAIL: libelle@webbwerks.com
NAME: Samuel J. Goldstein
TOPIC: Magic
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
TITLE: The Wizard's Banishment
WEBPAGE: http://www.cyberverse.com/~meander
RENDERER USED: POV-ray 3.01
TOOLS USED: Paper & Pencil
RENDER TIME: 2 hours 25 minutes 42.0 seconds
HARDWARE USED: SGI Indigo2/200 w/64M memory
IMAGE DESCRIPTION:
The Wizard's arrogance became too great, and his cruelty was feared
throughout the land. The Elders gathered together, and with their
combined strength, placed him in spirtual banishment from the Realm.

His prison, held aloft by five magical dragonflies, drifts across
the lands. He will spend his remaining years floating uncontrolled,
seeing the freedom that will never again be his.

DESCRIPTION OF HOW THIS IMAGE WAS CREATED:
A former roommate of mine who worked in the Computer Special Effects
industry once said to me that using actual geometry when you could
use image/transparency/texture/bump/displacement maps was criminal.
So, I guess I'm ready to be arrested. This image goes way overboard in
the geometry department. It's ALL geometry (my understanding is that,
in POV-Ray, height fields actually generate geometry before rendering).

The Wizard's prison is an icosahedron made up of hundreds of cylinders
and spheres. I tried doing the same thing using textures on a solid object,
and it just didn't look as good. So it uses a more generalized include
file ("MoorIco.inc") to create an icosahedron from small triangles.
Any base triangle defined between the points <0,0,0>,<1,0,0>,and
<1,0,1.7320508> will be copied and mirrored, and each face of the
icosahedron will consist of six of these smaller triangles, so the
entire icosahedron will be 120 times as many primitives as your
base triangle. This particular image uses 5160 cylinders and spheres to
make up the icosahedron. Yikes!

The chains use a modified version of Rob Antonishen's chain11.inc.
(the original can be found at: http://www.geocities.com/SoHo/7865/chain.htm)
I changed the include file to support a semi-random twisting of the links
in order that they look a little more natural. In the final image, it
doesn't make much difference.

I was hoping to find a good picture of a dragonfly on the 'net to use as
a model. What a wonderful place the web can be -- there's a site out there
that has normalized-scale side and top view pictures of hundreds of kinds
of dragonflies! (Check it out at http://www.our-town.com/dragonfly/).
The first version of the picture used the same dragonfly, rotated and
translated around. This, of course, looked intolerably "cut & paste." So,
I ended up creating the dragonfly.inc include file, that randomly permutes
the positions of the legs and head. It still was lacking, so I added the
"multiple exposure" wings, and a random "flap" direction. It was still
lacking something, so, on the advice of friends, added a variable amount
of "curl" to the dragonfly's body. Now they were starting to look like
something.

The landscape was pretty much straight-forward. I generated a 400x400
landscape by rendering the "mountGen2.pov". 

Then I wanted trees on the hills. I didn't want them to be too complicated,
since they'd be distant in the image, and small. But I wanted them to look
nice. So, again, I wrote an include file ("forest.inc") that build three
different random trees. Basically, since they're supposed to be conifers,
there's a central trunk, and branches at a random angle along the length
of the trunk. The branches are either small tapering cones (for the
bare trees, or the ones without foliage), or larger, spreading cones with
a mostly-transparent needle texture on them.
Although they'd look terrible closer up, for the purposes of this picture,
they work fine.

The last part was the fog. I tried various groundfogs to no avail. I wanted
a chunky, wispy fog that was highly turbulent. This was the best I could
do, and it uses overlapping halos -- s l o w. I struggled with the various
parameters, and really don't fully understand how they work. This was just
trial and error. The way I understand halos to work doesn't seem to be
the way they actually work. Especially with this negative transmissivity
stuff. Oh well.

All of the include files have more information about how to use them.

Sorry to write a book here. I should have just let the source speak for
itself...
