TITLE: Greed and Trechery
NAME: Philip Chan
COUNTRY: Canada
EMAIL: p_chan@shaw.ca
WEBPAGE: none yet
TOPIC: Worlds Within Worlds
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: pc_greed.jpg
ZIPFILE: pc_greed.zip
RENDERER USED: 
    POV-Ray version 3.1g

TOOLS USED: 
    Adobe Photoshop version 5.0 Limited Edition (coversion to .jpg)

RENDER TIME: 
    3 seconds parse, 2 hours, 57 minutes and 7 seconds render

HARDWARE USED: 
    Athlon 1700XP, 256Mb DDR RAM, Windows 95

IMAGE DESCRIPTION: 

        
After advancing his position through an act murder, satisfying his greed
and lust for power, a nobleman gazes into his crystal ball.  He beholds
inside the crystal the same seen of trechery as is laid out on his
own table.  Does he behold the act that he has perpetrated, or an act to
which he is destined to be the victim?  And yet his table is but part of
an identical scene, beheld inside yet another crystal, and so this
continues ad infinitum.  For this is the world of trechery woven by the
webs of greed and wanton ambition.


DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 


In the past, some of my text files have had serious text wrap issues.  I hope
this one's better (I type these things up in POV, so it's easy to go over the
limit for the number of characters a line and not notice.)  I apologize in
advance if this file has problems being displayed.

This image was created using only POV's text editor, and, for the most part,
the objects are all made up of spheres, boxes, cylinders, torii, planes and a
cone in various Constructive Solid Geometry (CSG) groupings.  All exceptions to
this rule are mention below as each object is described.  The image took me
about 17 hours to create (me sitting at the computer working, not counting some
of the lenghtier test renders).

The crystal ball:
The base is the union and difference of various cylinders and torii, the glass
ball is simply a cylinder that's been cut off at the bottom.  Both the wood
texture and glass texture are from POV's standard include files.

The candle:
The candle holder is constructed in the same way as the base of the cyrstal
ball, except for the fact that it has a cone in it.  The brass texture also
came from the POV .inc files.  The candle is basically just a big cylinder,
with a sphere cut out of it at the top.  The wick is also just a cylinder.
The wax drips are blob objects consisting of a cylinder and a sphere.  The one
near the camera has a somewhat transparent, shiny texture to make it look like
it's still in liquid form.  The texture for the candle is one of the few
textures that I can take credit for.
The candle flame is created using media.  The flame is actually placed using a
macro so that I could randomize the media pattern (the candle flames not the 
same, but you can't really tell...).  I also need the macro to scale the
density of the media by the inverse of the size of the object.  This is needed
so that the "brightness" of the flame stays constant.

The knife:
The blade is composed of a hexagonal prism and a lathe object (for the tip).
The handle is created from CSG.  A sphere at the end, followed by a bunch of
torii, and then a section of a cylinder smoothed off and decorated with a bunch
of cylinders, torii, spheres, and boxes.  The gold and silver textures are from
POV .inc files.  The blood stain is my work.  It's a simple semi-transparent
texture layered over the silver texture.  The blade is actually broken into two
parts (one stained, one unstained).  This was necessary because POV wouldn't
let me do texture maps while messing with layed textures.

The coins:
The bevelled edges on the coin are just a bunch of cylinders.  The face has a 
bunch of spheres on it (can been seen on the large coin with my initials on it)
and a POV text object, using a true type font.  The coin stacking algorithm 
uses blank faced coins for all but the top coin.  Each coin is randomly rotated
and displaced from the centre of the stack.  The top coin is randomly flipped.
(The big coin with my initials facing just the right way was a fluke.)  Blank
coins were used because the number of objects in the scene involved in using
real coins caused serious memory and render time issues, and you can't see the
face anyways.  The really small coins also have the bevelled edges removed to
further improve render time and reduce memory usage.  The original 120 bevels
was reduced to 60 because of resolution issues (I don't think there were enough
pixels to display 120 bevels on the coins in the ball with the camera).  Even
the 60 bevels caused some problems with anti-aliasing, which were resolved by
using the +AM2 option in POV (which doubled render time).  The gold and silver
textures are from POV .inc files.

The rings:
The rings are fairly simple.  Two cylinders, 2 torii, and 3 spheres.  The rings
are actually rotated and translated so they sit properly on the surface of the
crystall ball.  (The knife isn't, but you can't really tell.)  The gold texture
came from POV .inc files.  The ruby and emerald textures were made by me.

Putting it all together:
The scene is placed using macros.  The Iteration macro places one "iteration"
of the scene (a crystal ball surrounded by the objects).  It takes the factor
by which the objects need to be scaled and the offset height of the objects as
parameters.  The Iteration macro omits most objects which can't be seen, and
are not likely to influence visible reflections.  The candles, candle flames
and lights are left in.  The lighting for the scene is provided by attenuating
light sources, placed slightly above each candle flame.  The fade distance of
the lights is dependent on the size of the candle.
The Place macro calculates the scale factors and offset heights and calls the
Iteration macro.  The Place macro has parameters that allow me to select the
largest and smallest iterations used.  This was done so I could run test 
renders with different levels of complexity.

A note on rendering:
(Just in case someone wants render this scene for whatever reason.)
Final render settings used were '+A0.2 +AM2'.  The increased anti-aliasing was
needed because of the bevelled edges the coins.  Using A0.2 instead of the 
default A0.3 is not really necessary, but improves quality slightly.  The +AM2
corrects some serious problems that the default AM1 has.  The bevelled edges
look a lot better.  Rendering this image at resolution lower than 1024x768 may
also cause problems with the bevelled edges on the coins.  They're only a pixel
or two thick as it is.
Finally, the peak memory used figure in POV was 24315560 bytes (23.2Mb), so I
figure you'll need about 32Mb RAM if running windows.  If you have 32Mb of RAM
you'll need to disable virtual memory in windows.  You might even need to do
this if you have 64Mb RAM since windows is stupid.  While is was messing with
the coin stacks, windows started using virtual memory when I didn't exceed 
128Mb peak memory used (I have 256Mb).  Using virtual memory slows rendering
from about 60-70 PPS (pixels per second) to 3 PPS.
I have included the Black Chancery ttf file in the zip file.  The font was
released as freeware a while back.  I've also included the .doc file that was
originally packaged with the font.  The blackcha.ttf file must be placed in the
c:\windows\fonts\ directory, or the path in the source file must be changed to
match where the file is placed.

