// Persistence of Vision Ray Tracer 3.5 // File: .pov // Desc: // Date: // Auth: Trevor G Quayle global_settings{ assumed_gamma 1.0 ambient_light 1.0 max_trace_level 250 } // // ******* I N C L U D E S ******* // // // ******* C A M E R A ******* // #include "StereoCamera.inc" // // ******* L I G H T S ******* // light_source{ <-200,500,-500> rgb 1 looks_like{ sphere{0 100} pigment{rgb 1} finish{ambient 15} no_image } } // // ******* T E X T U R E S ******* // sky_sphere { pigment { gradient y color_map { [0.0 rgb <0.6,0.7,1.0>] [0.97 rgb <0.0,0.1,0.8>] } } } #declare M1= material{ texture{ pigment{rgb<0.6, 0.5, 0.2>} finish{ ambient 0 diffuse 0 conserve_energy reflection{0 1 fresnel on metallic 1 } } } interior{ior 15} } #declare LatDiv=8; //Number of Latitude divisions, used for long too (degrees= 90/LatDiv) #declare GRDTHK=0.025; //Line thickness for 1 unit radius sphere #declare AA=GRDTHK*LatDiv/2/(pi*2/4); #declare PLat= pigment{ gradient y colour_map{ [AA rgb 0] [AA rgb <1,0,0>] [1-AA rgb <1,0,0>] [1-AA rgb 0] } frequency LatDiv*2 warp {spherical} } #declare LONG= union{ #local i=0;#while(i<180) cylinder{-z*sin(GRDTHK/2),z*sin(GRDTHK/2),1.1 rotate y*i} #local i=i+90/LatDiv;#end } #declare PGrid= pigment{ object{ LONG pigment{PLat} pigment{rgb 0} } } #declare M2= material{ texture{ pigment{PGrid} finish{ ambient 0 diffuse 0.5 brilliance 1.0 conserve_energy reflection{0 1 fresnel on metallic 0 } } } interior{ior 1.55} } #macro MatX (Pig) texture{ pigment{Pig} finish{ambient 0 conserve_energy diffuse 0.8 } } #end // // ******* O B J E C T S ******* // #declare OBJ1= union{ torus{3,0.5 rotate x*90} cone{y*4,.5,-y*8,0} cone{-x*4,.5,x*8,0} translate y*8 scale 6 rotate 15 material{M1} } #declare MyObject= union{ object{OBJ1} sphere{0,30 material{M2 scale 30} translate -30*y} } plane{y,0 material{MatX(rgb 0.6)} translate -60*y} // // ******* S C E N E ******* // #declare LO = <0,250,-1000>; #declare LA = <0,10,0>; StereoCamera (LO,LA,100,8,MyObject,on)