// Persistence of Vision Ray Tracer Scene Description File // File: Planets.pov // Vers: 3.6 // Desc: The planets // Date: mm/dd/yy // Auth: Mike Sobers // // +A +AM2 +R3 +fn #version 3.6; #include "colors.inc" #include "woods.inc" global_settings { max_trace_level 10 } #declare arealight = 1; #declare radiosity_on = 1; #declare maps = 1; #declare clouds = 1; //Options for display: // 0 - custom camera // 1 - Earth and moon // 2 - Inner 4 planets + pluto // 3 - All planets // 4 - Sun // 5 - Vertical use 4 x 3 aspect ratio (600 x 800 or similar) #declare Option = 3; // ---------------------------------------- #if (radiosity_on) // radiosity (global illumination) settings global_settings { radiosity { pretrace_start 0.08 // start pretrace at this size #if (image_width>1500) pretrace_end 0.005 #else pretrace_end 0.02 #end // end pretrace at this size count 60 // higher -> higher quality (1..1600) [35] nearest_count 5 // higher -> higher quality (1..10) [5] error_bound 1.8 // higher -> smoother, less accurate [1.8] recursion_limit 3 // how much interreflections are calculated (1..5+) [3] low_error_factor .5 // reduce error_bound during last pretrace step gray_threshold 0.0 // increase for weakening colors (0..1) [0] minimum_reuse 0.015 // reuse of old radiosity samples [0.015] brightness 0.5 // brightness of radiosity effects (0..1) [1] adc_bailout 0.01/2 //normal on // take surface normals into account [off] //media on // take media into account [off] //save_file "file_name" // save radiosity data //load_file "file_name" // load saved radiosity data //always_sample off // turn sampling in final trace off [on] //max_sample 1.0 // maximum brightness of samples } assumed_gamma 1.0 } #else global_settings { assumed_gamma 1.0 } #end #default { texture { pigment { color rgb 0.3 } /* normal { // (---surface bumpiness---) granite 0.5 // some pattern (and intensity) turbulence 0.5 // some turbulence scale 0.05*<1,2,1> // transformations } */ #if (radiosity_on) finish { // (---surface finish---) ambient 0.00 diffuse 0.4 specular 0.3 // shiny roughness 1/60 reflection 0.15 } #else finish { // (---surface finish---) ambient 0.05 specular 0.3 // shiny roughness 1/60 reflection 0.15 } #end } } //sphere { 0, 1 hollow texture { pigment { color rgb 1 } finish { ambient 0.10 diffuse 0.6 }} translate 1*y scale <10000,5000,10000> } // Planet Radii in thousands of kilometers #declare Rmerc = 2.4397; #declare Rv = 6.115; // 6115 km to cloud tops, 6051 km solid #declare Re = 6.378; #declare Re_moon = 1.7374; #declare Rmars = 3.3972; #declare Rj = 71.516; // 71516 km, 66871 km #declare Rs = 60.368; // 60368 km, 54362 km #declare Ru = 25.559; // 25559 km, 24973 km #declare Rn = 24.764; // 24764 km, 24343 km #declare Rp = 1.137; #declare Rsun = 695.000; #declare Rj2 = 66.871; // 71516 km, 66871 km #declare Rs2 = 54.362; // 60368 km, 54362 km #declare Ru2 = 24.973; // 25559 km, 24973 km #declare Rn2 = 24.343; // 24764 km, 24343 km #declare mercury_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "mercurymap_color_pixelemporium2.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,12.8,1> } #else pigment { color rgb 0.3 } #end } #declare venus_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "venus_nasa_jpl2.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) //transmit all 0.8 // [use_color | use_index] } // image_map } #else pigment { color rgb <0.3,0.3,0> } #end } #declare venus_tex2 = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "venus2_nasa_jpl.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) //transmit all 0.5 // [use_color | use_index] } // image_map } finish {diffuse 0.7} #else pigment { color rgb <0.3,0.3,0> } #end } #declare earth_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "nasa_blue_marble.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,12.8,1> } normal { bump_map { // uses image color or index as bumpiness jpeg "earthbump_usgs.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance // once // for no repetitive tiling // [use_color | use_index] bump_size 2.5 // 0...3 } // bump_map } #else pigment { color rgb <0,0,0.3> } #end } #declare earthclouds_tex = texture { #if (maps) pigment { bozo turbulence 0.55 octaves 6 omega 0.7 lambda 2 color_map { [0.0 0.1 color rgb <1, 1, 1> color rgb <0.95, 0.95, 0.95>] [0.1 0.5 color rgb <0.85, 0.85, 0.85> color rgbt <1, 1, 1, 1>] [0.5 1.0 color rgbt <1, 1, 1, 1> color rgbt <1, 1, 1, 1>] } scale <3, 1.5,3> translate 0.5*x } #if (radiosity_on) finish { // (---surface finish---) ambient 0.05 diffuse 0.6 reflection 0 specular 0 } #else finish { // (---surface finish---) ambient 0.1 diffuse 0.5 reflection 0 specular 0 } #end #else pigment { color rgb <0,0,0.3> } #end } #declare moon_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "moon_usgs.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,3.5,1> } normal { bump_map { // uses image color or index as bumpiness jpeg "moonbump_pixelemporium.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance // once // for no repetitive tiling // [use_color | use_index] bump_size 1 // 0...3 } // bump_map } #else pigment { color rgb <0.3,0.3,0.3> } #end } #declare mars_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "mars_nasa_jpl2.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,12.8,1> } #else pigment { color rgb <0.3,0,0> } #end } #declare jupiter_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "jupiter_Bjorn_Jonsson2.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,12.8,1> } #else pigment { color rgb 0.3 } #end } #declare saturn_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "saturn_Bjorn_Jonsson2.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,12.8,1> } #else pigment { color rgb 0.3 } #end } #declare neptune_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "neptunemap_pixelemporium.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) // jpeg "neptune_nasa_jpl_don_davis.jpg" map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,12.8,1> } #else pigment { color rgb <0.3,0.3,0.5> } #end } #declare uranus_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "uranusmap_pixelemporium.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,12.8,1> } #else pigment { color rgb <0.1,0.6,0.5> } #end } #declare pluto_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "pluto_nasa_jpl.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,12.8,1> } #else pigment { color rgb <0.3,0,0> } #end } // ---------------------------------------- #declare sun_tex2 = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "sunmap_pixelemporium2.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,12.8,1> } #if (radiosity_on) finish { // (---surface finish---) ambient 0.00 diffuse 0.5 //specular 0.2 // shiny //roughness 1/100 } #else finish { // (---surface finish---) ambient 0.05 specular 0.2 // shiny roughness 1/100 } #end #else pigment { color rgb <0.5,0.5,0.05> } /* normal { // (---surface bumpiness---) granite 0.5 // some pattern (and intensity) turbulence 0.5 // some turbulence scale 0.05*<1,2,1> // transformations } */ finish { // (---surface finish---) ambient 0.60 specular 0.3 // shiny roughness 1/100 metallic } #end } #declare sun_tex = texture { #if (maps) pigment { // texture pigment {} attribute // create a texture that lays an image's colors onto a surface // image maps into X-Y plane from <0,0,0> to <1,1,0> image_map { jpeg "sunmap_pixelemporium2.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling // [filter N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [transmit N V] // N=all or color index # (0...N), V= value (0.0...1.0) // [use_color | use_index] } // image_map //translate -0.5*y //scale <1,12.8,1> } #if (radiosity_on) finish { // (---surface finish---) ambient 0.60 diffuse 0.5 //specular 0.2 // shiny //roughness 1/100 } #else finish { // (---surface finish---) ambient 0.6 specular 0.2 // shiny roughness 1/100 } #end #else pigment { color rgb <0.5,0.5,0.05> } /* normal { // (---surface bumpiness---) granite 0.5 // some pattern (and intensity) turbulence 0.5 // some turbulence scale 0.05*<1,2,1> // transformations } */ finish { // (---surface finish---) ambient 0.60 specular 0.3 // shiny roughness 1/100 metallic } #end } #declare corona = sphere { 0,1 pigment { rgbt 1 } hollow interior { media { emission 0.5 density { spherical density_map { [0 rgb 0] [0.05 rgb 0] [0.10 rgb <1,0.2,0>/(0.2*Rsun)] [0.11 rgb <1,0.3,0>/(0.3*Rsun)] [0.14 rgb <1,1,0>/(0.2*Rsun)] [0.18 rgb 1/(0.2*Rsun)] [0.22 rgb 0 ] } //turbulence 0.08 } density { bumps scale 0.02 turbulence 0.5} density { granite scale 0.2 } } /* media { emission 2 density { spherical density_map { [0 rgb 0] [0.10 rgb 0] [0.12 rgb <0.8,0.0,1>/(0.2*Rsun)] [0.14 rgb 0 ] } turbulence 0 scale 1 } density { spherical density_map { [0 rgb 0] [0.10 rgb 0] [0.12 rgb <0.8,0.0,1>/(0.2*Rsun)] [0.14 rgb 0 ] } turbulence 1 scale 1 } //density { granite scale 0.5 } }*/ } finish { // (---surface finish---) ambient 0.00 diffuse 0.0 specular 0.0 // shiny roughness 1/80 reflection 0.00 } scale 1.2*Rsun rotate 90*y } #declare mercury = sphere { 0, Rmerc texture{mercury_tex}} #declare venus = union { sphere { 0, Rv texture{venus_tex}} sphere { 0, 0.99999999*Rv texture{venus_tex2}} /*rotate -177.36*z*/} #if (clouds) #declare earth = union { sphere { 0, Re texture{earth_tex}} sphere { 0, 1.01*Re texture{earthclouds_tex}} scale <1,6.3568/Re,1> rotate 20*y rotate 23.45*z} #else #declare earth = sphere { 0, Re texture{earth_tex} scale <1,6.3568/Re,1> rotate 20*y rotate 23.45*z} #end #declare moon = sphere { 0, Re_moon texture{moon_tex} rotate 80*y rotate -30*x} // 1.54 deg tilt #declare mars = sphere { 0, Rmars texture{mars_tex} rotate 90*y rotate 25.19*z} #declare jupiter = sphere { 0, Rj texture{jupiter_tex} scale <1,Rj2/Rj,1> rotate -130*y /*rotate 3.13*z*/} #include "saturn_rings.inc" #declare saturn = union { sphere { 0, Rs texture{saturn_tex} scale <1,Rs2/Rs,1>} object { Saturn_rings scale 74.500 } rotate 25.33*x } // object { // Saturn_rings // scale 74500 // 1 unit equals 1 km // } /* #declare saturn_rings = union { Name Distance*(km) Width(km) Thickness(km) Optical Depth Mass(g) Albedo D 66,000 - 73,150 7,150 ? 0.01 ? ? C 74,500 - 92,000 17,500 ? 0.05 - 0.35 1.1 x 1024 0.12 - 0.30 Maxwell Gap 87,500 270 B 92,000 - 117,500 25,500 0.1 - 1 0.8 - 2.5 2.8 x 1025 0.5 - 0.6 Cassini Div 117,500 - 122,200 4,700 ? 0.05-0.15 5.7 x 1023 0.2 - 0.4 A 122,200 - 136,800 14,600 0.1 - 1 0.4-0.5 6.2 x 1024 0.4 - 0.6 Encke gap 133,570 325 Keeler gap 136,530 35 F 140,210 30 - 500 ? 0.01-1 ? 0.6 G 164,000 - 172,000 8,000 100 - 1000 10-6 1020 ? E 180,000 - 480,000 300,000 1,000 10-5 ? ? disc { <0, 0, 0>, y, 73.150, 66.000} disc { <0, 0, 0>, y, 87.500, 74.500} disc { <0, 0, 0>, y, 92.000, 87.770} disc { <0, 0, 0>, y, 117.500, 92.000} disc { <0, 0, 0>, y, 133.570, 122.200} disc { <0, 0, 0>, y, 136.530, 133.895} disc { <0, 0, 0>, y, 136.800, 136.565} disc { <0, 0, 0>, y, 140.710, 140.210} //? //disc { <0, 0, 0>, y, 172.000, 164.000} //disc { <0, Rs, 0>, y, 480.000, 180.000} texture { pigment { color rgb <0.8,0.8,0.6> } } } */ #declare uranus = sphere { 0, Ru texture{uranus_tex} scale <1,Ru2/Ru,1> /*rotate 90*y*/} #declare neptune = sphere { 0, Rn texture{neptune_tex} scale <1,Rn2/Rn,1> rotate 180*z rotate -20*y} #declare pluto = sphere { 0, Rp texture{pluto_tex} rotate 122.52*z} #declare sun = sphere { 0, Rsun texture{sun_tex rotate 110*y} rotate -10*x} #declare sun2 = sphere { 0, Rsun texture{sun_tex2 rotate 160*y}} #switch (Option) #case (0) #break #case (1) camera { location <0, 13.9, 35.0> direction 1.5*z right x*image_width/image_height angle 35 look_at <0, 5.0, 0.0> } sphere { 0, 100000 hollow texture { pigment { color rgb /*<156, 200, 255>/255*/ 0.7 } finish {ambient 0.4 diffuse 0.0} } } #if (arealight) light_source { 0*x // light's position (translated below) color rgb <255, 255, 251>/255 // light's color area_light <10*Re, 0, 0> <0, 0, 10*Re> // lights spread out across this distance (x * z) 20, 20 // total number of lights in grid (4x*4z = 16 lights) adaptive 2 // 0,1,2,3... circular // make the shape of the light circular orient // orient light translate <5*Re, 10*Re, Re> // position of light } #else light_source { <0, 0, 0> // light's position (translated below) color rgb <1, 1, 1> // light's color translate <-30, 30, 30> } #end object { earth translate <0,Re,0> } object { moon translate <-0.4*Re,Re_moon,1*Re>} #break #case (2) camera { location 0.9*<-2.1, 10, 50.0> direction 1.5*z right x*image_width/image_height angle 50.6 look_at <3.3, 0.5, 0.0> aperture 1 blur_samples 200 focal_point <0.60*Re,Re_moon,Re> } sphere { 0, 200000 hollow texture { pigment { color rgb /*<156, 200, 255>/255*/ 1 } finish {ambient 0.5 diffuse 0.0 reflection 0} } no_reflection } sphere { 0, 1000 hollow texture { pigment { image_map { jpeg "sm_jvp_office-sun-3.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling } } finish {ambient 0.7 diffuse 0.0 reflection 0} rotate -80*y } translate 0*y } light_group { #if (arealight) light_source { 0*x // light's position (translated below) color rgb 0.5*<255, 255, 251>/255 // light's color area_light <50*Re, 0, 0> <0, 0, 50*Re> // lights spread out across this distance (x * z) 10, 10 // total number of lights in grid (4x*4z = 16 lights) adaptive 3 // 0,1,2,3... circular // make the shape of the light circular orient // orient light translate <30*Re, 100*Re, 20*Re> // position of light } #else /* light_source { <0, 0, 0> // light's position (translated below) color rgb <1, 1, 1> // light's color translate <-30, 30, 30> } */ #end object { mercury translate <-0.5*Rmerc,Rmerc,2.7*Re>} object { venus translate <-1.1*Rv,Rv,0>} object { earth rotate -15*z translate <1.2*Re,Re,0> } object { moon rotate -5*x translate <0.60*Re,Re_moon,Re>} object { mars translate <1.8*Re,Rmars,2.5*Re>} object { pluto translate <-1.4*Re,Rp,2.8*Re>} /* #if (radiosity_on) plane { y, 0 texture { pigment { color rgb 0*<0.25,0.30,0.4> } normal{wrinkles 0.1 scale 0.5} finish { ambient 0.00 diffuse 0.4 specular 0 reflection 0.5}} } #else plane { y, 0 texture { pigment { color rgb 0*<0.25,0.30,0.4> } finish { ambient 0.10 diffuse 0.6 specular 0 reflection 0.5}} } #end */ cylinder { <2.5,-20,4>, <2.5,0,4>, 20 texture { pigment { color rgb 0*<0.25,0.30,0.4> } normal{granite 0.01 scale 10} finish { ambient 0.00 diffuse 0.4 specular 0 reflection 0.3}} } } #break #case (3) camera { location 0.9*<0.0, 170.0, 490.0> direction 1.5*z right x*image_width/image_height angle 53 look_at <0, 35.0, 0.0> aperture 6 blur_samples 300 variance 1/1000 focal_point <-2*Re-Rn,Re,2*Rj> } sphere { 0, 100000 hollow texture { pigment { color rgb /*<156, 200, 255>/255*/ 0.7 } finish {ambient 0.4 diffuse 0.0} } } sphere { 0, 90000 hollow texture { pigment { image_map { jpeg "sm_jvp_patio.jpg" // the file to read (iff/tga/gif/png/jpeg/tiff/sys) map_type 1 // 0=planar, 1=spherical, 2=cylindrical, 5=torus interpolate 2 // 0=none, 1=linear, 2=bilinear, 4=normalized distance once // for no repetitive tiling } } finish {ambient 0.6 diffuse 0.0 specular 0 reflection 0} rotate -70*y } translate 0*y rotate 110*y } light_group { #if (arealight) light_source { 0*x // light's position (translated below) color rgb 0.5*<255,255,250>/255 // light's color area_light <20*Rj, 0, 0> <0, 0, 20*Rj> // lights spread out across this distance (x * z) 10, 10 // total number of lights in grid (4x*4z = 16 lights) adaptive 3 // 0,1,2,3... circular // make the shape of the light circular orient // orient light translate <-100*Rj, 60*Rj, 50*Rj> // position of light rotate 20*y } #else light_source { <0, 0, 0> // light's position (translated below) color rgb <1, 1, 1> // light's color translate <-30, 30, 30> } #end object { earth translate -Rn*x translate <-2*Re,Re,2*Rj> } object { moon translate -Rn*x translate <-2.3*Re,Re_moon,2*Rj+Re>} object { venus translate -Rn*x translate <-4.5*Re,Rv,2*Rj>} object { mars translate -Rn*x translate <-6.5*Re,Rmars,2*Rj>} object { mercury translate -Rn*x translate <-8*Re,Rmerc,2*Rj>} object { pluto translate -Rn*x translate <-9*Re,Rp,2*Rj>} object { jupiter rotate 180*y translate <1.90*Rs,Rj2, -Rj/2>} object { saturn rotate -80*y translate <-1.14*Rs,Rj2, -Rj/2>} //object { saturn_rings translate <0,Rs, -Rj>} object { uranus translate -Rn*x translate <1.5*Rs,Ru2, 2*Rj>} object { neptune translate -Rn*x translate <0.5*Rs,Rn2, 2*Rj>} superellipsoid { <0.05, 0.05> //texture { pigment { color rgb 1 } finish { ambient 0.00 diffuse 0.5 }} rotate -25*y scale <0.8*Rs,1*(Rj-Rs),0.8*Rs> translate <-1.2*Rs,0.5*(Rj-Rs), -Rj/2> texture { T_Wood2 scale Rs rotate <20,30,10> finish { reflection 0.2 ambient 0.00 diffuse 0.4 specular 0.4 roughness 1/100}} } union { cylinder { <0,-20,0>, <0,0,0>, 200 } torus { 200, 8 translate -10*y } //texture { pigment { color rgb 0*<0.25,0.30,0.4> } normal{granite 0.1 scale 10} finish { ambient 0.00 diffuse 0.4 specular 0 reflection 0.3}} texture { T_Wood24 scale Rj rotate <4,5,6> finish { reflection 0.2 ambient 0.00 diffuse 0.4 specular 0.4 roughness 1/100} normal {bumps 0.05 scale 2*Rj}} rotate -105*y translate -Rn*z } cone { <0, -1, 0>, 20, <0, -400, 0>, 15 texture { T_Wood24 scale Rj rotate 88*x finish { reflection 0.2 ambient 0.00 diffuse 0.4 specular 0.4 roughness 1/100}} translate 170*z rotate 40*y translate -Rn*z } cone { <0, -1, 0>, 20, <0, -400, 0>, 10 texture { T_Wood24 scale Rj rotate 88*x finish { reflection 0.2 ambient 0.00 diffuse 0.4 specular 0.4 roughness 1/100}} translate 170*z rotate 160*y translate -Rn*z } cone { <0, -1, 0>, 20, <0, -400, 0>, 10 texture { T_Wood24 scale Rj rotate 88*x finish { reflection 0.2 ambient 0.00 diffuse 0.4 specular 0.4 roughness 1/100}} translate 170*z rotate 280*y translate -Rn*z } } // light group #break #case (4) /* camera { location <0.0, 2000.0, 10000.0> direction 1.5*z right x*image_width/image_height angle 9 look_at <500, 500.0, 0.0> //aperture 0.000001 //blur_samples 100 //variance 1/1000 } */ camera { location <0.0, 700.0, 3200.0> direction 1.5*z right x*image_width/image_height angle 17 look_at <200, 300.0, 0.0> //aperture 0.00000001 //blur_samples 100 //variance 1/1000 } sphere { 0, 100000 hollow texture { pigment { color rgb /*<156, 200, 255>/255*/ 0.7 } finish {ambient 0.4 diffuse 0.0} } } light_group { #if (arealight) /* light_source { 0*x // light's position (translated below) color rgb <255,255,150>/255 // light's color area_light <20*Rsun, 0, 0> <0, 0, 20*Rsun> // lights spread out across this distance (x * z) 10, 10 // total number of lights in grid (4x*4z = 16 lights) adaptive 3 // 0,1,2,3... circular // make the shape of the light circular orient // orient light looks_like { sun } translate <10*Rsun,50*Rsun,5*Rsun> // position of light } */ light_source { 0*x // light's position (translated below) color rgb <255,255,230>/255 // light's color area_light <0.5*Rsun, 0, 0> <0, 0, 0.5*Rsun> // lights spread out across this distance (x * z) 10, 10 // total number of lights in grid (4x*4z = 16 lights) adaptive 2 // 0,1,2,3... circular // make the shape of the light circular orient // orient light //looks_like { sun } //jitter translate 1*<8*Rj,1.1*Rsun,-Rsun> // position of light } #else light_source { <0, 0, 0> // light's position (translated below) color rgb <1, 1, 1> // light's color translate <-30, 30, 30> } #end #if (radiosity_on) plane { y, 0 texture { pigment { color rgb 1.8 } finish { ambient 0.00 diffuse 0.4 specular 0 reflection 0}} } #else plane { y, 0 texture { pigment { color rgb 1 } finish { ambient 0.10 diffuse 0.6 specular 0 reflection 0}} } #end object { earth translate -Rn*x translate <-2*Re,Re,2*Rj> } object { moon translate -Rn*x translate <-2.3*Re,Re_moon,2*Rj+Re>} object { venus translate -Rn*x translate <-4.5*Re,Rv,2*Rj>} object { mars translate -Rn*x translate <-6.5*Re,Rmars,2*Rj>} object { mercury translate -Rn*x translate <-8*Re,Rmerc,2*Rj>} object { pluto translate -Rn*x translate <-9*Re,Rp,2*Rj>} object { jupiter rotate 180*y translate <1.90*Rs,Rj2, -Rj>} object { saturn rotate -13*x rotate -65*y translate <-1.7*Rs,Rs2, -Rj>} object { uranus translate -Rn*x translate <1.5*Rs,Ru2, 2*Rj>} object { neptune translate -Rn*x translate <0.5*Rs,Rn2, 2*Rj>} } object { sun translate <8*Rj,1.1*Rsun,-Rsun> no_shadow no_reflection} object { corona translate <8*Rj,1.1*Rsun,-Rsun> no_shadow no_reflection} #break #case (5) /* camera { location <0.0, 170.0, 490.0> direction 1.5*z right x*image_width/image_height angle 39 look_at <0, 35.0, 0.0> //aperture 0.000001 //blur_samples 100 //variance 1/1000 } */ camera { location <0.0, 700.0, 3200.0> direction 1.5*z right x*image_width/image_height angle 10 look_at <60, 300.0, 0.0> //aperture 0.00000001 //blur_samples 100 //variance 1/1000 } sphere { 0, 100000 hollow texture { pigment { color rgb /*<156, 200, 255>/255*/ 0.7 } finish {ambient 0.4 diffuse 0.0} } } light_group { #if (arealight) /* light_source { 0*x // light's position (translated below) color rgb <255,255,150>/255 // light's color area_light <20*Rsun, 0, 0> <0, 0, 20*Rsun> // lights spread out across this distance (x * z) 10, 10 // total number of lights in grid (4x*4z = 16 lights) adaptive 3 // 0,1,2,3... circular // make the shape of the light circular orient // orient light looks_like { sun } translate <10*Rsun,50*Rsun,5*Rsun> // position of light } */ light_source { 0*x // light's position (translated below) color rgb <255,255,150>/255 // light's color area_light <5*Rsun, 0, 0> <0, 0, 5*Rsun> // lights spread out across this distance (x * z) 10, 10 // total number of lights in grid (4x*4z = 16 lights) adaptive 2 // 0,1,2,3... circular // make the shape of the light circular orient // orient light //looks_like { sun } //jitter translate 10*<8*Rj,1.1*Rsun,-Rsun> // position of light } #else light_source { <0, 0, 0> // light's position (translated below) color rgb <1, 1, 1> // light's color translate <-30, 30, 30> } #end object { earth translate -Rn*x translate <-2*Re,Re,2*Rj> } object { moon translate -Rn*x translate <-2.3*Re,Re_moon,2*Rj+Re>} object { venus translate -Rn*x translate <-4.5*Re,Rv,2*Rj>} object { mars translate -Rn*x translate <-6.5*Re,Rmars,2*Rj>} object { mercury translate -Rn*x translate <-8*Re,Rmerc,2*Rj>} object { pluto translate -Rn*x translate <-9*Re,Rp,2*Rj>} object { jupiter rotate 180*y translate <2.5*Rs,Rj2, -Rj>} object { saturn rotate -13*x rotate -80*y translate <-1.1*Rs,Rs2, -Rj>} object { uranus translate -Rn*x translate <1.5*Rs,Ru2, 2*Rj>} object { neptune translate -Rn*x translate <0.5*Rs,Rn2, 2*Rj>} #if (radiosity_on) plane { y, 0 texture { pigment { color rgb 1 } finish { ambient 0.00 diffuse 0.4 specular 0 reflection 0}} } #else plane { y, 0 texture { pigment { color rgb 1 } finish { ambient 0.10 diffuse 0.6 specular 0 reflection 0}} } #end } object { sun translate <8*Rj,1.1*Rsun,-Rsun> no_shadow no_reflection} object { corona translate <8*Rj,1.1*Rsun,-Rsun> no_shadow no_reflection} #else #end