//-w168 -h105 //-w540 -h315 //-w840 -h525 +a0.3 //-w1680 -h1050 +a0.1 #version 3.7 global_settings{ assumed_gamma 1 max_trace_level 256 //adc_bailout 0.003922 //radiosity{} } #default{texture{finish{ambient 0}}} #include "functions.inc" #declare ShowMedia=on; #declare ShowPlanet=on; #declare ShowWater=on; #declare ShowClouds=on; #declare ShowRings=off; #declare HighQuality=on; //Stars //////////////////////////////////////////////// #declare Turb=1.3; #declare star_pig1= pigment { crackle form<1,1,0> scale .001//.01 color_map { [0 color rgb 1/2] [0.4 color rgb <1.0, 0.9, 0.5>/2] [0.6 color rgb <1.0, 0.5, 0.5>/2] [0.8 color rgb <0.1, 0.3, 0.5>/2] [1 color rgb <0.01, 0.1, 0.4>/2] //[1 color rgb 0] } } #declare star_pig2= pigment { crackle form<1,1,0> scale .001//.01 color_map { [0 color rgb <.98,.99,1>/2] [0.1 color rgb <1.0, 0.9, 0.5>/2] [0.4 color rgb <1.0, 0.5, 0.5>/2] [0.6 color rgb <0.1, 0.3, 0.5>/4] [0.7 color rgb <0.01, 0.1, 0.4>/8] [.8 rgb 0] } } #declare star_pig3= pigment { crackle form<1,1,0> scale .001//.01 color_map { [0 color rgb 1/2] [0.25 color rgb <1.0, 0.9, 0.5>/2] [0.3 color rgb <1.0, 0.5, 0.5>/4] [0.4 color rgb <0.1, 0.3, 0.5>/8] [0.5 color rgb <0.01, 0.1, 0.4>/10] [0.6 color rgb 0] } } #declare Galaxy= pigment{ wrinkles omega .7 pigment_map { [.6 star_pig3] [.8 star_pig2] [1 star_pig1] } } #declare star_pig= pigment { crackle form<1,1,0> scale .001//.01 color_map { [0 color rgb 1] [0.25 color rgb <1.0, 0.9, 0.5>] [0.3 color rgb <1.0, 0.5, 0.5>] [0.4 color rgb <0.1, 0.3, 0.5>] [0.5 color rgb <0.01, 0.1, 0.4>] [0.6 color rgb 0] } } sky_sphere{pigment{Galaxy rotate x*30}} ///////////////////////////////////////////////////// // *** PLANET Texture *** #declare t_planet= pigment{ onion warp { turbulence 0.01 lambda 33 } color_map{ [.6 rgb <.02,.1,.2>] [.785 rgb <.6,.5,.4>] [.8 rgb <.011,.18,.21>] // green [.99 rgb <.01,.15,.2>]//<.1,.2,.01>] // green [1 rgb <.6,.5,.4>] } scale 1/(<1.01,.995,1.01>) } #declare t_planet1= pigment{ onion warp { turbulence 0.01 lambda 33 } color_map{ [0 rgb .8] [.6 rgb <.02,.1,.2>] [.785 rgb <.6,.5,.4>] [1 rgb .7] } scale 1/(<1.01,.995,1.01>) } #declare t_planet2= pigment{ onion warp { turbulence 0.01 lambda 33 } color_map{ [.6 rgb <.02,.1,.2>] [.785 rgb <.6,.5,.4>] [.93 rgb <.011,.21,.18>] // green } scale 1/(<1.01,.995,1.01>) } #declare t_planet3= pigment{ onion warp { turbulence 0.01 lambda 33 } color_map{ [.6 rgb <.02,.1,.2>] [.785 rgb <.6,.5,.4>] [.8 rgb <.011,.21,.11>] // green [.99 rgb <.11,.2,.15>]//<.1,.2,.01>] // green [1 rgb <.6,.5,.4>] } scale 1/(<1.01,.995,1.01>) } #declare t_planet= // Planet texture texture{ pigment{ onion scale <1.01,.995,1.01> turbulence .0005 lambda 2.5 omega 1.2 pigment_map{ [0 t_planet1] [.05 t_planet ] [.3 t_planet3 ] [.5 t_planet2 ] [.7 t_planet3 ] [.95 t_planet ] // sand [1 t_planet1]//<.1,.2,.01>] } } normal {agate scale .001} } #declare Scalar=<4,2,4>; // texture scaling #declare Rotar= <-15,0,0>; // texture roatation // } #declare d_clouds= density{ wrinkles scale <100,50,100>*22 turbulence <1,2,1> lambda 2.5 omega 1.3 warp { turbulence <10,0,10>*.1 //lambda 3 omega 1.2 } density_map{ [0 rgb 0] [.3 granite scale 1/(<100,50,100>*22) density_map{[0 rgb 0][.7 rgb 200]}] [1 rgb 200] } rotate y*15 scale<0.021,0.02,0.021>/Scalar rotate -Rotar } #declare d_clouds2= density{ wrinkles rotate Rotar scale Scalar //lambda 2.5 omega 1.3 density_map{ [.1 rgb 0 ] [.6 granite scale 3 density_map{ [.5 rgb 0] [.7 granite scale .1 density_map{ [0 rgb 0] [.7 granite scale .1 density_map{[.5 rgb 0][.6 rgb 10][1 rgb 200]}] [1 rgb 200] } ] [.8 rgb 100] [1 rgb 200] } ] [1 rgb 0] } rotate y*-5 scale<0.021,0.02,0.021>/Scalar rotate -Rotar } #declare d_clouds3= density{ wrinkles warp { turbulence 0.3} rotate Rotar scale Scalar //lambda 2.5 omega 1.3 //octaves 2 warp { turbulence 6 // amount of turbulence octaves 3.3 // optional turbulence modifiers lambda 2.3 omega 1.3 } density_map{ [.4 rgb 0 ] [.7 granite scale .1 density_map{[.5 rgb 1][.6 rgb 100]}] [.9 wrinkles scale .1 density_map{[.5 rgb 100][.6 rgb 200]}] [1 rgb 200] } rotate y*-5 scale<0.021,0.02,0.021>/Scalar rotate -Rotar } #declare d_clouds4= density{ wrinkles //phase .25 poly_wave .2 //frequency 3 turbulence 0.03 rotate Rotar scale Scalar //lambda 2.5 omega 1.3 //octaves 2 warp { turbulence .6 // amount of turbulence octaves 3.3 // optional turbulence modifiers lambda 2.3 omega 1.3 } scale .5 density_map{ [0 granite scale 10 density_map{ [0 rgb 100] [.7 granite scale .01 density_map{ [0 rgb 100] [.7 granite poly_wave 4 scale .001 density_map{[0 rgb 200][.3 rgb 100][1 rgb 200]}] [1 rgb 100] } ] [1 rgb 100] } ] [.3 granite scale 10 density_map{ [0 rgb 0] [.7 granite scale .01 density_map{ [0 rgb 0] [.7 granite poly_wave 4 scale .1 density_map{[0 rgb 50][.3 rgb 0][1 rgb 50]}] [1 rgb 0] } ] [1 rgb 0] } ] [.7 rgb 0] [.85 granite scale 10 density_map{ [0 rgb 0] [.7 granite scale .01 density_map{ [0 rgb 0] [.7 granite poly_wave 4 scale .1 density_map{[0 rgb 50][.3 rgb 0][1 rgb 50]}] [1 rgb 0] } ] [1 rgb 0] } ] [1 granite scale 10 density_map{ [0 rgb 100] [.7 granite scale .01 density_map{ [0 rgb 100] [.7 granite poly_wave 4 scale .001 density_map{[0 rgb 200][.3 rgb 100][1 rgb 200]}] [1 rgb 100] } ] [1 rgb 100] } ] } rotate y*-5 scale<0.021,0.02,0.021>/Scalar rotate -Rotar } // Cloud texture #declare t_clouds1= texture{ pigment{ wrinkles scale <100,50,100>*22 turbulence <1,2,1> lambda 2.5 omega 1.3 warp { turbulence <10,0,10>*.1 //lambda 3 omega 1.2 } color_map{ [0 rgb 1 transmit 1] [.3 rgb 1 transmit .9] [1 rgb 1 transmit 0] } rotate y*15 scale<0.021,0.02,0.021>/Scalar rotate -Rotar } } #declare t_clouds= texture{ wrinkles rotate Rotar scale Scalar //lambda 2.5 omega 1.3 texture_map{ [0 t_clouds1 ] [.3 pigment {rgb 1 transmit 1}] [.5 t_clouds1] [.7 pigment {rgb 1 transmit 1}] [1 t_clouds1 ] } } // } #declare t_smog= texture{ pigment{ wrinkles scale <100,50,100>*22 turbulence <1,2,1> lambda 2.5 omega 1.3 warp { turbulence <10,0,10>*.1 //lambda 3 omega 1.2 } color_map{ [0 rgb 1 transmit 1] //[.3 rgb <.3,.4,.1> transmit .9] [1 rgb .5 transmit 0] } rotate y*15 scale<0.021,0.02,0.021>/Scalar rotate -Rotar } } #declare t_smog= texture{ wrinkles rotate Rotar scale Scalar //lambda 2.5 omega 1.3 texture_map{ [0 t_clouds ] [.3 pigment {rgb 1 transmit 1}] [.5 t_clouds] [.7 pigment {rgb 1 transmit 1}] [1 t_clouds ] } } // Terrain ///////////////////////////////////////////// #declare Terrain=isosurface{ function{(x*x+y*y+z*z-1)+f_granite(x*2,y*2,z*2)*f_agate(x,y,z)*.05} // from Jaime's LightSys Space Demo scene //max_gradient 3.199 //accuracy 1/1000000 // 1/1000000 hollow } // Planet #declare Planet= union{ isosurface{ function{(x*x+y*y+z*z-1) +f_granite(x*2,y*2,z*2)*f_agate(x,y,z)*.05 +f_agate(x*100,y*100,z*100)*.001 -f_granite(x*1000,y*1000,z*1000)*.0001 } //max_gradient 3.199 #if (clock>2) accuracy 1/100000 #end contained_by{sphere{0,1}} texture{t_planet scale .02} scale y*1.002 } #if(ShowWater) sphere{0,1 // water /*isosurface{ function{(x*x+y*y+z*z-1) -f_granite(x,y,z)*.001 } //max_gradient 3.199 accuracy 1/1000000 contained_by{sphere{0,1.1}} */ pigment{gradient y scale 2 translate y turbulence .1 lambda 7 pigment_map{ [0 rgb<1,1,1> ] [.15 rgb <.02,.2,.4> ] [.9 rgb <.02,.2,.4>//<0,.05,.2,.1> ] [1 rgb<1,1,1> ] } } //normal{granite .1 scale .0001} #if(ShowMedia) finish{//specular .1 metallic 1 // reflection{.5,1 fresnel on} //specular .3 metallic .7 brilliance 1.5// conserve_energy } //interior{ior 1.33 fade_distance .003 fade_color rgb <0,0,.1> } #end scale .996 hollow } #end #if(ShowMedia) sphere{0,1 #if(HighQuality=0) no_reflection// Atmosphere #end pigment{colour rgbt 1} //finish{specular 0 phong 0 reflection 0} interior{//ior 1.1 media { method 3 //adaptive sampling samples 20 //6 //intervals 3 jitter 1// .1 //variance 1.0/500 scattering {4, rgb < 0.1, 0.4, 1>*3 extinction 1} #if(HighQuality=0) absorption (1-< 0.1, 0.4, 0.9>)*.5 #end density {onion density_map{ [0 rgb <.001,.01,.1>] [.96 rgb <.001,.01,.1>*2] [.97 rgb 1] // earth [.99 rgb .1]// [1 rgb 0 ]// } } } #if(ShowClouds) media { method 3 samples 20 intervals 3 scattering {4, color rgb 1 extinction 1} absorption 1//10 density {onion //warp{ turbulence .01 } density_map { [.89 rgb 0] [.978 rgb 0] [.979 d_clouds3 scale 470 rotate -35*z] [.981 d_clouds4 scale 470 rotate -35*z] [.985 rgb 0] } } } #end } rotate <0,90,45> scale 1.03 hollow double_illuminate #if(HighQuality=0) no_shadow #end } #end } // Planet union{ // placement of Planet union{ #if(ShowRings) disc {<0, 0, 0> y, 1.0, .7 // -O- RINGs -O- pigment{spherical cubic_wave colour_map{ [0 rgbt <.4,.3,.2,1>] [.01 rgbt <.4,.3,.2,.1>] [.015 rgbt <.3,.3,.3,.7>] [.03 rgbt <.35,.3,.25,.1>] [.04 rgbt <.1,.21,.3,.9>] [.07 rgbt <.3,.21,.1,.5>] // [.12 rgbt <.25,.2,.15,.1>] [.12 rgbt <.25,.2,.15,.1>] [.14 rgbt <.2,.2,.25,.7>] [.18 rgbt <.3,.2,.1,0>] [.22 rgbt <.3,.2,.1,1>] } } //normal{granite .001 scale .00001} finish{diffuse .7 roughness .9 brilliance .2 } scale 2*1.5 hollow //double_illuminate } #end object{Planet rotate y*4.9*0} scale .3 translate <0,0,0> } } /////////////////////////////////////////////////// light_source {<2,.5,0>*1000000, color <2.1,2,1.9>*2 media_attenuation on media_interaction on} sphere {<2,.1,3>*100, 7.5 texture { pigment {color <2.1,2,1.9>/2} finish {ambient 10 diffuse 0} } no_shadow hollow double_illuminate } /////////////////////////////////////////////////////////////// ////////////// Camera //////////////////////////////////////// #declare CamPos =<.6,.23,-.6>; ///////////CAMERA//////////////////////////////////// camera{ location CamPos*<1,1,2.36> // (CamEnd*(2-(2/(EndClock+1))))+(CamStart*(1-StartClock)) //-.4 // <2,.1,3>/15//<0,0,.3>//<0,0.2989, 0>//<0,.30055,0>//<0,.5,0> // <.5,0,-1.2> //sky <1,1,0> direction z*1.5 right x*image_width/image_height look_at <0,0,0>//<.2,0,0>//(<0,.4,1.19>*ClockRot)+(<0,-.2,.5> *(1-Clock)) //0 // <2,.1,3>*1000000//<0,1,0>//0//<0,-.3,1> //<0,-.4,1> // }