TITLE: Blizzard in a Blizzard
NAME: Ricky Reusser
COUNTRY: USA
EMAIL: reu1000@chorus.net
TOPIC: Worlds within worlds
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: blizzard.jpg
ZIPFILE: blizzard.zip
RENDERER USED: 
    MacMegaPov .7

TOOLS USED: 
    Digital Camera, Scanner, Adobe Photoshop 3.0.4, GIMP (running on
XFree86)

RENDER TIME: 
    54 hours 33 minutes 7.0 seconds

HARDWARE USED: 
    Macintosh G3 350 MHz, 192 MB RAM, Mac OS X

IMAGE DESCRIPTION: 

Worlds within worlds; a blizzard within a blizzard.  The man waits out a
blizzard in his cabin oblivious to the outside world, though possibly wondering
about the colorful objects surrounding his cabin_

DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 

Thanks to finals and a new semester, this is the first time I have ever had
enough free time to try out an IRTC competition (and the first full image I
have ever completed).  I started out by searching for _Worlds within worlds_ on
google.com, and after finding things like hell on earth, biocontainment labs,
etc., my mom came up with a blizzard within a blizzard.  Sounded good (and
doable) to me.  (There was good motivation to create my own blizzard since it_s
been a terrible winter for snow _round here.)
The environment is pretty simple with a box for a wall and a superellipsoid for
a table.  The wallpaper is scanned from my room.  There is also a sphere around
everything with a photo from my sisters room mapped onto it.  The radiosity and
reflections come mainly from this sphere.

        The cup is simple CSG (cones and tori) with a scanned blizzard cup on
the outside and the same thing blurred on the inside.  The spoon in the ice
cream is just CSG again with superellipsoids.

        The ice cream in the cup is an pigment-mapped isosurface.  I created the
map by hand in Photoshop and stuck it on a plane isosurface.  I had a hard time
deciding on the texture for the ice cream.  A simple reflective surface with
some normal and specular worked, but it made the image pretty plain and flat. 
I had recently experimented with Kari Kivisalo_s _subsurface-scattering_ milk
glass, so I tried that on the ice cream, and it worked pretty well.  It is by
far the slowest-rendering part of the image, so I haven_t actually seen the
whole thing with the scattering media yet.  Excessive?  Probably.

        The props were the easiest part.  The ketchup and mustard bottles are
CSG; the napkin holder is just a couple of superellipsoids.  The cake
advertisement sign is just a couple of bezier patches with an altered texture
from a DQ website.  There is also nice wood panelling that didn_t end up
visible in the final scene.

        The crumbs are just simple pigment function isosurfaces.

        The cloud is a blob object with method 3 scattering media.  It took a
while to fine tune, but I finally found out that intervals 3 samples 1 works
pretty well.  (With method 3, more intervals also gets rid of black spots, as I
finally found out.)

        The cabin is all CSG again.  The walls are made with a simple macro and
CSG cutouts.  The _thatched_ roof is just a union of 2000 (pointless)
cylinders.  I added snow to the roof, so you can no longer see most of the
roof.  Also, I know that you shouldn_t be able to see snow on the underside of
the roof, but I honestly just never got around to fixing that.  The flaps in
the doorway and window are just bezier patches with a simple hand drawn texture
from GIMP.  The chimney is another isosurface with a pigment map function and
texture from Photoshop. The smoke is a particle system with wind and scattering
media interiors.

        The blizzard took a while.  I started with a bozo texture.  I used a
bunch of if then statements in combination with eval_pigment to determine the
random placement of snowflakes.  Based on their height, they are displaced
horizontally to create the windy look.  There are about 45,000 flakes total.  I
don_t like the way the snow meets the cloud:  it doesn_t look like it_s coming
from the cloud, but it_s more or less too late to fix that, so it will have to
do.

        I saved the description of the nerds for last.  Each nerd is a blob
object with a randomly chosen color.  I used trace to _drop_ them onto the
surface of the ice cream.  They worked pretty well and added to the overall
look.  With about two weeks left, I tried the final render_ but it didn_t work.
 I started it on Saturday and found on Sunday afternoon that it had been
parsing in an infinite loop for the nerds all night.   I had not even changed
anything since the last successful trial render.  After a busy week, I spent a
couple of evenings typing and retyping the code, but without any success. 
Finally a shortcut hit me.  I used the same code for the nerds in a new file
and used debug to output an include file.  Yippy.  Due to a lack of time, it is
scaled down to 480 x 640 instead of 600 x 800.  Oh well.  Enjoy.

