TITLE: The Prize
NAME: Philip Chan
COUNTRY: Canada
EMAIL: p_chan@shaw.ca
WEBPAGE: www.ucalgary.ca/~phichan/index.html
TOPIC: Mystery
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: pc_prize.jpg
ZIPFILE: pc_prize.zip
RENDERER USED: 
    POV-Ray 3.5 (Windows)

TOOLS USED: 
    Adobe Photoshop LE 5.0 (conversion to .jpg)

RENDER TIME: 
    3h 31m 34s

HARDWARE USED: 
    Athlon 1700+ XP, 256 Mb DDR RAM

IMAGE DESCRIPTION: 
    Who stole the prize?

Somebody has broken into the IRTC headquarters and stolen the first place
medal.

VIEWING RECOMMENDATIONS: The objects in the background are meant to be barely
visible.  The image seems to display darker in certain programs.  On my
computer, it's just right in POV, too dark in Internet Explorer, and too bright
in Photoshop.  Adjust monitor brightness or gamma correct until the wires for
the mouse and keyboard are barely visible.  It may also help to view the image
in darkened room.


DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 


First of all, thanks to John Guthkelch (Doctor John) for creating and making
public his architectural field camera macro, available at:
http://news.povray.org/povray.text.scene-files/29463/
An include file version of the code provided at the above site is included in
the zip file accompanying this entry.  This macro was used so the walls
wouldn't look like they were falling outwards (sort of the opposite of the
"Falling Building Syndrome" that this macro was written to solve).

This image is created entirely within POV-Ray's built in text editor.  The 
objects in this image are created entirely using Composite Solid Geometry
(CSG), using primitives (spheres, cones, boxes, cylinders, planes, cones, 
torii), a few prisms, and a couple of text objects.  The textures are all
procedural, with the execption of one image map (which was itself created in
POV).  This image map was used to create the reflected scene visible on the
IRTC medals.

The lighting for this scene makes heavy use of radiosity - the only light
source comes from within the hallway.  There is no lighting in the room (with
the exception of the standby LED on the monitor) in order to give a better
sense that the scene depicts a break and enter.  While I managed to create a
more realistic lighting which eliminated the extremely bright glare from the
doorway, I decided that the scheme used in the final version created a more
mysterious mood.

A more detailed and technical description of individual components follows:

Medals:

The medals are based on the ones used on the IRTC site.  The reflected scene
visible in the medals is a reflection of an image map which is UV mapped onto a
hollow sphere which surrounds the metallic sphere of the medal.  The UV mapping
allows the invisible sphere (uses the no_object keyword) to be placed very
close to the metallic sphere (so as not to affect other objects in the scene),
and still give the right amount of warping in the reflection.

In order for all the letters cut into the metal to have the same depth, the
text object used for the difference operation with the sphere first has that
same sphere cut out of it (so as to match the curve) and is then translated to
intersect with the metal.  This is much easier that the idea I originally had
to calculate the necessary position/rotation of each individual letter.

The metal textures are modified versions of those found in the include
libraries, and the wood texture is taken directly from woods.inc (the POV-Ray
include file).

Medal Case:

The metal body is constructed from primitives and a prism for the latch in the
bottom right of the scene.  The hinges are made from cylinders modelled so that
one side of the case is obtained by rotating the other side (differences in the
rim are added after this rotation).  The texture is once again a modified
version of a texture from the standard library.

The depressions for the medals are cut out using a basic medal shape (a sphere
and a cylinder).  A difference with one additional cylinder, and the addition
of a torus was used to smooth out the transition from each depression to the
flat surface.  I had originally intended to create a plush texture for the
interior of the case, but that is beyond my abilities at the present.  The one
used is what I have been able to create so far.

Near Table:

A simple box.  The texture is a slightly brighter version of one of the
textures from woods.inc, with an additional layer to create the flecks.

Floor:

The floor boards are created by a while loop which creates boxes that have the
same length along the z axis (into the monitor), but variable length along the
x axis.  The loop contains a condition to check the distance remaining to the
wall when it is about to place a board, and if that distance is less than a set
threshold, it will combine the last two boards.  The texture for each board is
randomly chosen from a set of three textures, which are slightly modified
versions of yet another texture from woods.inc.  A random translation vector
is also applied to the texture on each board so that the wood grain doesn't
line up and ruin the effect of the boards.  Finally, a slightly shiny finish is
applied to the floor to give a polished hardwood appearence.

Chair:

The chair is made primarily of boxes.  The back of the chair is slightly
curved, and is a section of a cylinder.  The tips of the two posts are capped
with prisms to give a smoother appearance.  The texture is from the include
libraries.

Far Desk:

The body of the desk is CSG of boxes, with a brighter version of one of the
library wood textures applied. The handles are stretched cylinders, with
smaller cylinder difference from the middle.  Texture is a simple grey pigment.

Computer:

A box with holes in the front for ventilation (placed using a loop).  The mouse
is just a stretched sphere.  The keyboard is a box, which extends into the
table, allowing it to be rotated slightly to make the far end taller.  The keys
are made from several additional boxes.  I decided against trying to put text
on the keys as it is too far away for it to show well at this resolution (as
can be seen from the book).  I also experimented with creating individual keys,
but after placing a grid of keys, I found the individual keys did not show up
at this distance, so I went back to just using a box for each section of keys.

The monitor is a box, with a cylinder for the base.  The screen is made using
a difference with another box.  If you look closely you can see some controls
in the centre and the stand-by LED (modelled after my monitor).  The text says
POV-Ray on the left, and the on the right is a POV-Ray logo object.

Book:

I wanted to place an open book on the desk to give the room a "worked-in" feel,
but couldn't come up with an easy way to do the pages for a hardcover book
(given a complete lack of experience with any modelling program, and working
only with the text editor).  I came up with the idea of doing a coil bound book
which would look just fine sitting flat on the desk.  I tried to create black
splotches for text in the book, but it can't really come out well at this
distance, (it's either speckled like it is now, or more or less completely
black).

Safe:

More CSG with boxes.  A cylinder and a cone are used for the dial.  The
texture is a simple grey pigment, as applying a texture similar to the one
used for the case caused the inside to become quite bright (probably light rays
bouncing around inside).

Bookcase:

Agains, CSG with boxes for the shelf.  The books are placed using a modified
version of the algorithm used for the floorboards.  A random height is chosen
for each book, and then a random length and depth are chosen proportional to
the height.  The clause for the minimum length of the last book is still in
effect.  Two random colours are chosen for each book, and applied with a
gradient y pattern, which is randomly translated so that sometimes only one
colour is visible.  A small white box is cut out of the main body of the book
to create the pages.  Finally, a text object is selected based on the books
aspect ratio, and then scaled and placed (with a small amount of randomness).
The colour for the text object is also random, and may match fairly well with
the colour of the book, giving the appearence of no text at all.

Room:

The door and frame are just boxes with a library wood texture.  The doorknob is
created from cylinders and cones.  It uses the same texture as the third place
award, but is much brighter because of its proximity to the light source.  The
lightswitch is more boxes, with a simple yellow pigment.  The room itself is a
box with a box differenced for the interior space, and another for the doorway.
The texture is a granite pattern with a little bit of grey to break the
monotony.

Lighting:

There is one light source in the hallway, and one extremely dim one for the LED
on the monitor.  The light level in the scene is achieved using radiosity.  A
relatively high value for brightness (2) was used to give sufficient lighting.
Since this is my first scene using radiosity, I used the default radiosity
settings, and adjusted the "higher is better" values up by a factor of 3, and
the "lower is better" values down by a factor of 0.25, with the exception of
several parameters:
error_bound - adjusted to 1.3, which seemed to give the best results.  Changing
it either resulted in artifacts, or bright light spewing through the door onto
the back wall.
recursion limit - kept at 3, any higher and the walls start to turn red/brown
adc_bailout - used the 0.01 / brightest_ambient_object rule of thumb, where I
took the light source (magnitude of the colour value was approximately 2) as
the brightest_ambient_object.

As a result of altering the brightness to give the desired level of lighting
within to room, the hallway became extremely bright.  While I managed to create
a more realistic level of lighting in the hallway using a light_group (the code
for this is still in the source file, and is activated via a parameter), after
getting feedback on the two versions, it was decided the the brightness through
the doorway created a more mysterious mood.

