TITLE: Aaaahh, sunlight!
NAME: Jeff M. Thomas
COUNTRY: United States
EMAIL: jeff@twilightfair.com
WEBPAGE: http://www.angelfire.com/weird2/gonk/povray/AhSunlight/AaaahSunlight.html
TOPIC: Worlds Within Worlds
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: ahsunlight.jpg
ZIPFILE: ahsunlight.zip
RENDERER USED: 
    Povray 3.5.beta.11.icl.win32
TOOLS USED: 
    Paint Shop Pro 5.1 : for image_map mask manipulation and to paste
	                 the 2 renderings together (top and bottom)
    3DWin : for .3ds file conversion
    3ds2pov : for .3ds file conversion
RENDER TIME: 
    Machine 1 : 1 day 2 hours 5 minutes 27 seconds (top 106 rows)
    Machine 2 : 2 days 7 hours 40 minutes 11 seconds (bottom 300)

    Total : 3 days 9 hours 45 minuts 38 seconds

HARDWARE USED: 
    PRIMARY DEVELOPMENT : IBM ThinkPad Intel Celeron 500mhz 19
    PRIMARY RENDERING :
        IBM ThinkPad Intel Pentium III 800mhz 320MB (top half)
        Micron desktop Intel Pentium III 700mhz 320MB (bottom half)
IMAGE DESCRIPTION:

    Once a year the sun hits the crypt of St. Agnes just right, and she 
arises to bask in its warmth. But this year she does not go un-noticed...

    Alas! This image should be a full 800x600 with most of the glorious 
stained glass window in view, but I seriously underestimated how long 
it would take to render with full lighting, media and anti-aliasing. I 
only had 3 days left till the final submission date and the window was 
rendering at 17 pixels a minute! It would have taken over 5 days even 
if I split the rendering up between my various machines (which I ended 
up doing anyway). Hopefully I'll get to post a full image on my web 
site later.

DESCRIPTION OF HOW THIS IMAGE WAS CREATED:

I have been tinkering with Povray on and off for years but I've never 
undertaken anything near this scope until now. It was a fun and bumpy 
learning experience and I'm pleased with the result though their was 
so much more planned, naturally. And now I am quite familiar with the 
ray tracing lament, "If only there was more time! If only it would 
render faster!". Watching this thing render on a Pentium 800mhz is 
not unlike watching Design Cad 3D render the Pantheon on a 386 33mhz 
back in the late 80's!

This all started with the stained glass. One night I was playing with 
using pigment functions on isosurfaces instead of bumpmaps to generate 
textures for an entirely unrelated home project of mine, when it 
occured to me that I could use an image_map pigment function to create 
a mask that would 'carve out' a flat isosurface into a particular shape. 
Then by combining a couple of these carefully masked isosurfaces I could 
create a complex stained glass window that would actually be made of 
sections of colored glass, rather than a transparent pigment map on a 
single glass object which I never liked.

So that's what I did, and once I got a rendering of it with light 
shining through a media I immediately ran to the IRTC to see was the 
current topic was; I had to enter it! 

The stained glass window, which you unfortunately only see a sliver of, 
is made of 7 isosurfaces, one for each color and one for the leading. 
They are each shaped by a carefully hand made image_map used by a pigment 
function to carve the isosuface glass. There is also a wrinkle function 
that lends an old-glass waviness property to it that doesn't show well 
in the small part you can see.

The same 'carving out' of an isosurface with a mask is used for the 
raised gold and brass designs on top of the central and left crypts. The 
technique is used yet again to carve out the gold sections on the side 
of the central crypt and for the stone carvings on the top and side of 
the right hand crypt. In those situations the masked isosurface is used 
in a difference CSG to subtract from the crypt objects.

The scene uses only four lights. Three lights are candles and the fourth 
is a spotlight standing in for the sun. Getting just the right settings 
for the media (which is in a box that just covers the window, candelabras 
and the crypts) was by far the biggest battle this image presented. Either 
it would be too dark, or too hard to see, too grainy or too turbulent, or 
sometimes it would suddenly show bizarre artifacts that I could not explain. 
Given how long it would take to render anything with the media and the full 
window, this was easily where the majority of development time went, next to 
tweeking the stone isosurface functions endlessly :-). And there is still 
an anoying amount of disturbace in the center of the light shaft that I can't 
seem to make go away (though I can make it worse!).

Other object info:

The stone floor, walls, pillars, benches and the crypts themselves are made 
of isosurfacess using my own formula combos. The silver finials on the 
central crypt are f_quartic_cylinder isosurfaces.

The Celtic cross, candelabras, kneeling bench and fences are custom CSG 
objects using standard primitives. 

The Boy is, you guessed it, a Poser object. I did pose and clothe him all 
by myself (with some helpful tips from my wife, thanks), and a learning 
experience it was too! He was converted using Steve Anger's 3ds2pov ver 1.8 
which put in stand-in textures I could easily adjust to my liking.

CREDIT WHERE CREDIT IS DUE:

Much of the Celtic art in the image, including the window itself, was 
derived from free clip art available on artist Cari Buziak's web site 
which features her excellent work: http://www.aon-celtic.com/

The Ghost is a 3ds object called, surprisingly, woman.3ds which I downloaded 
from the free section of 3DCaffe.com. I haven't been able to find any 
credits for it. She was converted with Thomas Baier's 3DWin.

The candlesticks themselves were generated with a customized version of 
Chris Young's candles.inc.

THE ZIP FILE:

It includes all scripts for making the image but none of the image_map files 
due to their size. Also excluded are the Boy and Ghost includes for the 
same reason.

Be warned, I didn't have the time to clean up the code so it get's messy 
in there.

NOT FINISHED IN TIME:

Rendering the rest of the window. It's a real shame.
I wanted a camera falling out of the boys left hand.
Better lighting on the boys face (I spent a lot of time on his expression)
Incense burners, explaining why it's so hazy in there. 
I intended for a rose and a votive candle to be placed on the kneeling bench.
There was to be a soda can and an ash tray on one of the stone benches.
I really would have liked a bass relief on the wall behind the left bench.
Flags/tapestries hanging on the pillars.
Statues in niches on the second level of the pillars. Though they would have 
ended up not showing anyway.
A tree branch outside casing shadows through he window.
A wooden door where the right hand bench is, cracked open and allowing in 
some sunlight for contrast.
Alternating stonework on the wall.
Photons: this was actually in but got cut at the last moment for speed.
Radiosity: but the media didn't work the same. Besides, if I though it was 
taking a long time to render NOW....
