TITLE: Poolside
NAME: Michael Hartley
COUNTRY: Australia (but working in Malaysia)
EMAIL: hartley-m@usa.net
WEBPAGE: http://www.angelfire.com/mt/ofolives
TOPIC: "Water"
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: poolside.jpg
ZIPFILE: poolside.zip
RENDERER USED: 
    Povray 3.02

TOOLS USED: 
    None.

RENDER TIME: 
    2 hrs 51 mins 18 seconds

HARDWARE USED: 
    Pentium 166 (MMX)

IMAGE DESCRIPTION: 

Water. It plumbs the depth of our emotional being through the
sheer beauty it can create, and calls us to the heights of 
intellectual endeavour through scientific study. The photo
frames and the swimming pool indicate that man, in many ways,
has mastered this most basic of substances. And yet, as the
glass of water on the table reminds us, water is, and always
will be, one of our most basic human needs.


DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 


Firstly, SUNSET.TGA (left picture) was created using POVRAY 3.02.
The rendering time was 4 minutes and 41 seconds at 800x600. The
realism of the scene depends a great deal on the exact placement
of the camera, since many of the effects were produced in an ad
hoc manner (for example, the clouds in front of the sun are lit
up by a spotlight near the camera!)

Secondly, MOLECULE.TGA (right picture) was also created using
POVRAY 3.02. The rendering time was 59 seconds at 800x600. The
atomic radii and bond lengths are accurate (source = somewhere
on the internet). I #defined the water molecule to be a blob,
and then used a #while loop in POVRAY 3.02 to create 777 copies
of the blob, in random locations and orientations. The blobs
were randomly scattered in a pyramid-shaped wedge of space in
front of the camera.

Then, POOLSIDE.TGA was created, as described above. the beige 
tiles around the edge of the pool, the green tiles the table
sits on, and the cyan and black tiles inside the swimming pool 
were all produced using the same piece of POVRAY script.
First, in "poolside.pov", I #declare some parameters,
such as the number of tiles in the x and y directions, the
dimensions of the tiles, the width of the concrete and the
textures of the concrete and the tiles, and then I #include
"tiling.inc". The latter file sets defaults for any undefined
parameters, and then builds the tiling based on the parameters.
Back in "poolside.pov", the tiling is then rotated and translated
to the correct position.

A similar technique is used to produce the cup of water, and the
photo frames. The file "cup.inc" uses many paramaters, such as
thickness, height and angle of the glass, the thickness and width
of the base, and the depth of the contents. A great variety of cups
is possible using this include file. For the photo frames, I set 
parameters such as the photo size and texture (usually an image map!),
the thickness of the frame, and the angle of the frame and also of
the stand. The stands cannot be seen in poolside.pov, since they are
behind the photos.

I use lots of trigonometry to calculate the correct parameters for
the basic objects making up the table and the photoframes and the cup.

Most of the textures in the scene are predefined in #include files
provided with POVRAY 3.02, or are slight modifications thereof.

The final scene contains 3003 "frame level" objects, whatver that
means. Most of these are "superellipsoids", which I used to make
the tiles. This is not an original idea - the POVRAY documentation
suggests exactly this application of superellipsoids. 

My first attempt to build the tabletop produced some very odd
refractive results - inconsistent with the apparent shape of the
object. I suspect a bug in POVRAY, but I'll have to experiment
before being sure. 

To actually render the scene I used antialiasing to make the front
edge of the table look nicer. I also had to reset POVRAY's
"max_trace_level" parameter - this parameter determines the 
maximum number of rays POVRAY will refract or reflect before giving
up and painting a pixel black. With the default setting, the whole
glass was black! I pushed this parameter up as high as I could (14).
When I tried setting it to 15, the program crashed. For this reason,
the cup is not perfect. Rays entering near the edge of the cup undergo
a lot of total internal reflection, hence a max_trace_level of 14
is quickly reached.


and converted to JPG format 
using Microsoft Photo Editor 3.0. No other postprocessing was
done. 

