// Persistence of Vision Ray Tracer Scene Description File // File: ?.pov // Vers: 3.1 // Desc: Basic Scene Example // Date: mm/dd/yy // Auth: Mick Hazelgrove // #version 3.1; #include "colors.inc" global_settings { assumed_gamma 1.0 } // ---------------------------------------- camera { location <0.0, 1.5, -20.0> direction 1.5*z right 4/3*x look_at <0.0, 0.0, 0.0> } sky_sphere { pigment { gradient y color_map { [0.0 color rgb<0,0,1> ] [0.6 color rgb <0,1,0>] } } } //light_source{<30, 30, -30>,color rgb<2,0,0>} light_source{<-30, 30, -30>,color rgb<1,1,1>} light_source{<30, 30, -30>,color rgb<1,1,1>} /* light_source{<0, 80, 40> Gold area_light <8, 0, 0> <0, 0, 8> 4, 4 adaptive 0 jitter } */ // --------------------------------------------------------------- #declare Water = texture { pigment {color rgbt <0.25,0,1,0.5>} normal { bumps 0.5 scale 0.05} finish { reflection 1 phong 1.0 phong_size 200 metallic } scale 3 } plane {y,0 interior{ior 1.33} texture{Water}} //----------------------------------------------------------------- fog { distance 100 //was 100 colour rgbt<1, 0.35, 0, 0.2>*0.75 turbulence 0.75 turb_depth 0.9 } fog { distance 35 //was 35 colour rgbf<0.5, 0.5 , 0.7 , 1.0> *0.75 fog_type 2 fog_offset 4 fog_alt 1 turbulence .5 turb_depth 0.9 } /* #declare Sun = object{ sphere { <0,15,199.5>,30 texture { pigment {color rgb <7, 7, 3>} } } } light_source { <0, 15, 200> color rgb<7,7,3> area_light <1, 0, 0>, <0, 1, 0>, 3, 3 adaptive 1 jitter looks_like{ Sun } //shadowless } */ //------------------------------------------------------------------- #declare B_Tex = texture { pigment { gradient x turbulence 0.3 octaves 2 omega 0.12 lambda 2.5 color_map { [0.50 color rgb<0.5, 0.35, 0.000>] [1.00 color rgb<0.2, 0.7, 0.7>] } frequency 5 } finish { ambient 0.4 specular 1 metallic reflection 0.15 } rotate z*90 scale 0.15 } #declare Prow = union{ #declare Count = 0; #declare Radius = 1; #declare Angle = 0; #declare SphRad = .01; #while(Count<140) sphere{0,SphRad translate rotate z*Angle } #declare Count = Count +1; #declare Angle = Angle + 5; #declare SphRad = SphRad + 0.03; #declare Radius = Radius +Radius; #end rotate x*180 } #declare Prow2 = union{ #declare Count = 0; #declare Radius = 100; #declare Angle = 280; #declare SphRad = 4.2; #while(Count<40) sphere{0,SphRad translate <0,Radius,0> rotate z*Angle } #declare Count = Count +1; #declare Angle = Angle + 1; #declare SphRad = SphRad + 0.03; #end rotate x*180 } #declare FProw = union{ object{Prow scale 0.025 rotate z*35 } object{Prow2 scale 0.025 translate<-1.8495,0.15,0> } object {torus{0.1,0.075} translate<0.6,-0.175,0> } translate <4.85,1,0> } #declare Post = difference{ cylinder{z*-0.05,z*0.05,2.1} cylinder{z*-0.2,z*0.2,1.95} scale<2.5,1.25,1> clipped_by{sphere{0,20 inverse translate<1,19.1,0>}} } #declare Bsphere = difference{ sphere{0,2} sphere{0,1.95} } #declare BtShape = union{ object{Bsphere scale <2.5,1.25,1> clipped_by{sphere{0,20 inverse translate<1,18,0>}} texture{B_Tex} } object{Bsphere scale <2.5,1.25,1> clipped_by{sphere{0,20 inverse translate<1,18.2,0>}} clipped_by{sphere{0,20 translate<1,18,0>}} texture{B_Tex} scale 1.01 } object{Bsphere scale <2.5,1.25,1> clipped_by{sphere{0,20 inverse translate<1,18.4,0>}} clipped_by{sphere{0,20 translate<1,18.2,0>}} texture{B_Tex} scale 1.02 } object{Bsphere scale <2.5,1.25,1> clipped_by{sphere{0,20 inverse translate<1,18.6,0>}} clipped_by{sphere{0,20 translate<1,18.4,0>}} texture{B_Tex} scale 1.03 } object{Bsphere scale <2.5,1.25,1> clipped_by{sphere{0,20 inverse translate<1,18.8,0>}} clipped_by{sphere{0,20 translate<1,18.6,0>}} texture{B_Tex} scale 1.04 } object{Bsphere scale <2.5,1.25,1> clipped_by{sphere{0,20 inverse translate<1,19,0>}} clipped_by{sphere{0,20 translate<1,18.8,0>}} texture{B_Tex} scale 1.05 } } #declare boat = union{ object{BtShape clipped_by{plane{z,-0.4 }}translate<0,0,.4>} object{BtShape clipped_by{plane{z,0.4 inverse }}translate<0,0,-.4>} object{FProw texture{B_Tex}scale 0.75 rotate z*18 translate <1.4,-1.25,0>} object{Post texture{B_Tex rotate z*45}} rotate z*10 } object{boat scale 0.5 rotate y*120 translate<0,.9,-12> } //------------------------------------------------------------