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. 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.