global_settings { assumed_gamma 1.0 max_trace_level 25 } background { color rgb <0.2,0.3,0.6> } #declare camPos = <-5, 5, -50>*3; #declare camLookAt = <0,0,0>; #declare camAngle = 55; #declare lightPos = <-2000,10000,-4000>; #declare lightRad = vlength(lightPos-camPos)*2*sin(radians(0.25)); camera { up <0, 1, 0> right <3/4, 0, 0> location camPos direction <0.0, 0.0, 1> angle camAngle look_at camLookAt } light_source { 0*x colour rgb 1.0 translate lightPos media_attenuation on } light_source { 0*x colour rgb 0.4 translate camPos media_attenuation off shadowless } fog { fog_type 2 fog_alt 50 fog_offset -55 colour rgb <0.2,0.3,0.6> distance 500 } plane { y, 0 texture { composite { bozo scale 1 pigment_map { [0 crackle form <1,0,0> colour_map { [0 rgb 0.05][1 rgb 0.95] } scale 0.2 ] [1 crackle form <1,0,0> colour_map { [0 rgb 0.95][1 rgb 0.05] } scale 0.2 ] } } texture_map { [0.45 pigment { rgb <1,.6,.2> } ] [0.45 pigment { rgb <.6,1,.2> } finish { specular 0.4 diffuse 0.1 reflection <.6,1,.2> } ] [0.55 pigment { rgb <.6,1,.2> } finish { specular 0.4 diffuse 0.1 reflection <.6,1,.2> } ] [0.55 pigment { rgb <.2,.6,1> } ] } } scale 25 translate -55*y } sphere { 0, 1 pigment { composite { gradient y pigment_map { [0 rgb 0] [0.5 granite] [1 rgb 1] } scale 2 translate -y } colour_map { [0.25 rgb <1,.2,.2> ] [0.5 rgb <.2,1,.2> ] [0.75 rgb <.2,.2,1> ] } } scale 25 translate <-30,30,0> } sphere { 0, 1 pigment { gradient y pigment_map { [0.25 gradient y colour_map { [0.25 rgb <1,.2,.2> ] [0.5 rgb <.2,1,.2> ] [0.75 rgb <.2,.2,1> ] } ] [0.5 granite colour_map { [0.25 rgb <1,.2,.2> ] [0.5 rgb <.2,1,.2> ] [0.75 rgb <.2,.2,1> ] } ] [0.75 gradient y colour_map { [0.25 rgb <1,.2,.2> ] [0.5 rgb <.2,1,.2> ] [0.75 rgb <.2,.2,1> ] } ] } scale 2 translate -y } scale 25 translate <30,30,0> } sphere { 0, 1 texture { composite { average pigment_map { [1 spiral1 6 colour_map { [0.5 rgb 0][0.5 rgb 1]} scale 0.4] [1 checker rgb 1, rgb 0 scale 0.51 ] [1 gradient y colour_map { [0.5 rgb 0][0.5 rgb 1]} triangle_wave scale 0.5 ] } } texture_map { [0.5 pigment { rgb <1,1,.2> } finish { ambient 0 diffuse 0 specular 0.4 reflection <.4,.3,.2> } ] [0.5 pigment { granite colour_map { [0 rgb <.2,1,1>][1 rgb <1,.2,1>]} } finish { ambient 0.3 diffuse 0.4 } ] } } scale 25 translate <-30,-30,0> } sphere { 0, 1 texture { average texture_map { [1 spiral1 6 scale 0.4 texture_map { [0.5 pigment { rgb <1,1,.2> } finish { ambient 0 diffuse 0 specular 0.4 reflection <.4,.3,.2> } ] [0.5 pigment { granite colour_map { [0 rgb <.2,1,1>][1 rgb <1,.2,1>]} } finish { ambient 0.3 diffuse 0.4 } ] } ] [1 checker texture { pigment { granite colour_map { [0 rgb <.2,1,1>][1 rgb <1,.2,1>]} } finish { ambient 0.3 diffuse 0.4 } }, texture { pigment { rgb <1,1,.2> } finish { ambient 0 diffuse 0 specular 0.4 reflection <.4,.3,.2> } } scale .51 ] [1 gradient y triangle_wave texture_map { [0.5 pigment { rgb <1,1,.2> } finish { ambient 0 diffuse 0 specular 0.4 reflection <.4,.3,.2> } ] [0.5 pigment { granite colour_map { [0 rgb <.2,1,1>][1 rgb <1,.2,1>]} } finish { ambient 0.3 diffuse 0.4 } ] } scale 0.5 ] } } scale 25 translate <30,-30,0> } sky_sphere { pigment { composite { gradient y pigment_map { [0 rgb 0.6] [0.3 composite { spotted scale 0.25 // turbulence 0.3 triangle_wave pigment_map { [0 granite scale 2 colour_map {[0 rgb 0.5][1 rgb 0]}] [1 granite scale 2 colour_map {[0 rgb 1][1 rgb 0.5]}] } } scale <1,0.2,1> ] } } colour_map { [0.2 rgb 0.4] [0.5 rgb 0.7] [0.55 rgbf 1] } } }