// Persistence of Vision Ray Tracer Scene Description File // File: ?.pov // Vers: 3.5 // Desc: Radiosity Scene Template // Date: mm/dd/yy // Auth: ? // #version 3.5; #declare Radiosity=on; global_settings { assumed_gamma 1.5 #if (Radiosity) radiosity { pretrace_start 0.08 pretrace_end 0.01 count 50 nearest_count 5 error_bound 0.9 } #end } #default { texture { pigment {rgb 1} #if (Radiosity) finish { ambient 0.0 diffuse 0.6 specular 0.3 } #else finish { ambient 0.1 diffuse 0.6 specular 0.3 } #end } } // ---------------------------------------- camera { right x*image_width/image_height location <0,3,-4> look_at <0,1,0> angle 55 } light_source { <40,30,-45> // light's position color rgb <1, 1, 1> // light's color } // ---------------------------------------- plane { y, 0 } plane { y, -10 } #declare M_Water= material { texture{ #declare SC=1/255; pigment{rgbt } finish{ambient 0 diffuse 0.3 reflection {0,1 fresnel on} conserve_energy specular 0.4 roughness 0.003 } } interior{ ior 1.34 fade_distance 1 fade_power 1001 fade_color rgbt } } // create a smooth blobby shape #declare RadiusVal = 1.0; // (0 < RadiusVal) outer sphere of influence on other components #declare StrengthVal = 1.0; // (+ or -) strength of component's radiating density #macro BBassin (thr, flat) blob { threshold thr sphere { y, RadiusVal, StrengthVal } sphere { <0,1.5*flat,0>, RadiusVal*0.7*flat, -StrengthVal } sphere { <0,1.2*flat,0>, RadiusVal*0.5*flat, -StrengthVal } } #end #local SBassin1 = difference { sphere { <0,1,0>, 0.6 } sphere { <0,1.5,0>, 0.5 } sphere { <0,1.2,0>, 0.4 } } #local SBassin2 = difference { sphere { <0,1,0>, 0.59 } sphere { <0,1.5,0>, 0.49 } sphere { <0,1.2,0>, 0.4 } } #declare Water = intersection { sphere { <0,1.15,0>, 0.5 } cylinder { <0,0.7,0>, <0,1.15,0>, 0.51 } } #local e=0.6; union { object { BBassin (0.4, 1.0) } object { Water material { M_Water } } translate } union { object { BBassin (0.4, 1.0) } difference { object { Water } object { BBassin (0.39,1.0) } material { M_Water } } translate } union { object { BBassin (0.4, 1.1) } object { Water material { M_Water } } translate <-e,0,-e> } union { object { BBassin (0.4, 1.1) } difference { object { Water } object { BBassin (0.39,1.1) } material { M_Water } } translate <-e,0,e> } union { object { BBassin (0.4, 1.2) } object { Water material { M_Water } } translate <-3*e,0,-e> } union { object { BBassin (0.4, 1.2) } difference { object { Water } object { BBassin (0.39,1.2) } material { M_Water } } translate <-3*e,0,e> } union { object { SBassin1 } object { Water material { M_Water } } translate <3*e,0,-e> } union { object { SBassin1 } difference { object { Water } object { SBassin2 } material { M_Water } } translate <3*e,0,e> }