EMAIL: rob@mcgregorfineart.com NAME: Robert W. McGregor TOPIC: Fire and Ice COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. TITLE: Frozen Fire COUNTRY: USA WEBPAGE: www.McGregorFineArt.com JPGFILE: FireOnIce.jpg ZIPFILE: FireOnIce.zip RENDERER USED: POVRAY 3.6 TOOLS USED: Wings 3d ZBrush 2 PoseRay POV-SDL PhotoShop (for JPEG conversion) RENDER TIME: 37 hours @ 1280x1024 px HARDWARE USED: Dell PC, Pentium 4 (w/HT), 3 Ghz, 1 GB RAM IMAGE DESCRIPTION: I spent several days thinking of various combinations of things that could represent fire and ice, and I came up with a great many ideas (e.g., Comet near the sun, Volcano in Iceland, A glass of Scotch Whiskey on the rocks [firewater!], A frozen castle with a blazing torch, etc.), but I never got the "That's it!" feeling from any of them until one morning I woke up and it suddenly hit me - red hot chili peppers frozen in a block of ice - "That's it!" I thought... Tongue in cheek, yet serious and on-topic. And so here it is. DESCRIPTION OF HOW THIS IMAGE WAS CREATED: In a nutshell, I created the composition and materials for this image using the POV-SDL exclusively. Isosurface ice, mesh chili peppers, blob water droplets, and simple plane for the ground. The ice block is a simple isosurface based on the f_rounded_box function with an agate pigment function subtracted to simulate the irregularity of melting ice: //------------------------------------------------------- // Ice Block #declare fn_Pigm = function { pigment { agate color_map { [0 color rgb 0] [1 color rgb 1] } } } #declare Ice = isosurface { function { f_rounded_box(x, y, z, 0.25,1,1,1)- fn_Pigm(x/2, y/2, z/2).gray*0.135 } contained_by { box { -1.75, 1.75 } } accuracy 0.001 max_gradient 2.36 scale <2, 1, 2> } The material for the ice is pretty standard POV fare: //------------------------------------------------------- // Ice block material #declare Brighten_Factor = 1.2; #declare clr1 = rgb<128,175,184>/255*Brighten_Factor; #declare clr2 = rgb<85,140,150>/255*Brighten_Factor; #declare clr3 = rgb<183,208,210>/255*Brighten_Factor; #declare clr4 = rgb<110,154,174>/255*Brighten_Factor; #declare M_Ice = material { texture { pigment { bozo turbulence 0.5 scale 0.33 color_map { [0.00 clr1 transmit 0.5 filter 0.25] [0.33 clr2 transmit 0.5 filter 0.25] [0.66 clr3 transmit 0.5 filter 0.25] [1.00 clr4 transmit 0.5 filter 0.25] } } normal { bozo turbulence 0.6 normal_map { [0.0 agate 0.125 scale 0.1] [0.33 granite 0.05 scale 0.5] [0.66 granite 0.25 scale 3] [1.0 granite 0.035 scale 0.25] } } finish {F_Glass3 ambient 0.3} } interior {ior 1.2 #if (!Use_Photons) caustics 1 #end} } To catch the "sunlight" coming through the ice I used photon mapping on the ice block: // Ice block object { Ice rotate y*30 material {M_Ice} #if (Use_Photons) photons { target refraction on reflection off collect off } #end } The photons were set up for the scene as follows: global_settings { #if (Use_Photons) photons { spacing 0.01 jitter 0.4 } #end } light_source { <-125, 50, -100> color Sunlight*1.4 #if (Soft_Shadows) area_light <10, 0, 0>, <0, 0, 10>, 6, 6 adaptive 2 jitter orient circular #end #if (Use_Photons) photons { reflection off refraction on } #end } I tried modeling the chilis using blobs, but after a few hours I couldn't get the right feel and I eventually gave up and finally went with a mesh2 approach. [Side Note: I'm starting to appreciate mesh techniques more and more. I used to think using mesh modelers was like cheating, but now, well it's just the right choice sometimes (and sometimes the ONLY choice!).] The chilis themselves (fruit and stem) were created using Wings 3d for the rough geometries and ZBrush 2 to subdivide the meshes and fine tune with displacements for a natural, organic feel (ZBrush is awesome!). I converted the meshes from OBJ to POV Mesh2 format using PoseRay. The ground is just a couple of layered planes, the top one is rgb 0.9 with a transmit 0.35 and the bottom one has a texture that combines an averaged surface normal having a multi-layered slightly reflective finish with a proceduralized image_map of Antarctic ice blended in (based on the proceduralizing technique demonstrated by Jaime Vives Piqueres at ignorancia.org). The end result is a translucent icy surface with a lot of depth. As a finishing touch for each chili not completely encased in ice I added water droplet blobs for a melting/wet look. The droplets were randomly placed using trace() and some vector math I learned from studying Gilles Tran's POV code (specifically the MakeSnow macro). The textures for the stem, fruit, and droplets are completely procedural using only POV-SDL. Photons, area lighting, and lots of tweaking finally gave me the end result I was after. All in all, I'm very pleased with this image!