// Persistence of Vision Ray Tracer Scene Description File // File: TheThing.pov // Vers: 3.5 // Desc: A thing I drew one day // Date: 1/19/2006 // Auth: Bryan Valencia // #include "colors.inc" #include "rad_def.inc" #declare QUICK=1; #ifndef (QUICK) global_settings{ radiosity{ Rad_Settings(Radiosity_OutdoorLQ, on, on) } } #end // ---------------------------------------- #declare QUICK2=1; #ifdef (QUICK2) fog { fog_type 1 distance 20 color Tan } #else box{<-1,0,-1>*1e3,<1,1,1>*1e3 hollow texture{pigment{color rgbf 1}} interior{ media{ //absorption scattering{ 1 (1-Tan) * 0.2 extinction .1 } intervals 5 density{granite} density{bumps scale <1,0.1,1>} } } } #end /* camera { location <15, .3, -20> look_at <5, 8, 0> angle 70 } */ camera { spherical location <15, .3, -20> look_at <5, 8, 0> angle 360 } sky_sphere { pigment { gradient y color_map { [0.0 rgb <0.6,0.7,1.0>] [0.7 rgb <0.0,0.1,0.8>] } } } light_source {<1e5, 1e4, -1e4> color Tan media_attenuation on} // ---------------------------------------- #declare LeadMetal=texture{ pigment{rgb 0.25} finish{phong 0.1 metallic} normal{bumps 0.1 scale .1} } #declare Radial=texture{ pigment{color rgb 0.5} finish{reflection .25} normal{radial 1 frequency 100} } #declare Sand=texture{ pigment{granite color_map{ [0 color Tan] [.5 color Brown] [1 color White] } } normal{granite .25} } #declare brace=difference{ box{<-.5,0,0><.5,7,-4>} box{<-2,0,0><2,8,-4> rotate x*15 translate z*-4} } //hangy pipes #declare HangyPipe=sphere_sweep{ b_spline 6 <0,12,-3>,.1 <0,11,-3>,.1 <0,9,-2.75>,.2 <0,9.5,-2.5>,.1 <0,9.5,-2>,.1 <0,9.5,0>,.1 } #declare Eye= sphere{<0,0,0>,1 hollow texture{ pigment{color rgbf .5} finish{reflection .2} } interior{ media{ emission green 50 density {spherical scale 1} density {marble turbulence 1 scale 1} } } } #declare Eyes=union{ object{Eye translate<0,8,-1>} object{Eye translate<0,8, 1>} object{Eye translate< 1,8,0>} object{Eye translate<-1,8,0>} } union{ difference{ cylinder{0,y*10,2} union{ sphere{<0,8,-2>,1} sphere{<0,8, 2>,1} sphere{< 2,8,0>,1} sphere{<-2,8,0>,1} } } object{Eyes} cone{y*10,2,y*11,4} object{HangyPipe } object{HangyPipe rotate y*90} object{HangyPipe rotate y*180} object{HangyPipe rotate y*270} //filter difference{ cylinder{y*11,y*12,4} torus{4,.5 translate y*11.5} texture{Radial} } //main spire #declare A=12; #declare B=4; #while (B>0.1) #declare OldB=B; #declare OldA=A; #declare A=A+1; #declare B=B*0.75; cone{<0,A,0>,B,<0,OldA,0>,OldB} #end //sub spire #declare A=12; #declare B=2; #while (B>0.1) #declare OldB=B; #declare OldA=A; #declare A=A+1; #declare B=B*0.7; cone{<0,A,0>,B,<0,OldA,0>,OldB translate<2,0,0>} cone{<0,A,0>,B,<0,OldA,0>,OldB translate<-2,0,0>} cone{<0,A,0>,B,<0,OldA,0>,OldB translate<0,0,2>} cone{<0,A,0>,B,<0,OldA,0>,OldB translate<0,0,-2>} #end object{brace} object{brace rotate y*90} object{brace rotate y*180} object{brace rotate y*270} texture{LeadMetal} } //ground pipes #declare A=0.3; sphere_sweep{ linear_spline 5 <0,.4,-2>,A <10,.4,-2>,A <10,1,-2>,A <10,1,0>,A <10,0,0>,A texture{LeadMetal} } sphere_sweep{ linear_spline 4 <0,.4,-1>,A <11,.4,-1>,A <11,.4,0>,A <11,0,0>,A texture{LeadMetal} } sphere_sweep{ linear_spline 6 <0,.4,-0>,A <9,.4,-0>,A <9,2,0>,A <10,2,0>,A <12,1,0>,A <12,0,0>,A texture{LeadMetal} } sphere_sweep{ linear_spline 4 <0,.4,1>,A <13,.4,1>,A <13,.4,0>,A <13,0,0>,A texture{LeadMetal} } sphere_sweep{ linear_spline 4 <0,.4,2>,A <14,.4,2>,A <14,.4,0>,A <14,0,0>,A texture{LeadMetal} } plane { y, 0 texture{Sand scale .1} }