// Alex Kluchikov, 2003 // mailto: klkspa[at]ukr.net, aklk[at]mail.ru // Feel free to modify/use in any form sphere{0,1000 texture{ pigment{ gradient y color_map{ [0,color rgb <0.8,0.83,1>] [1,color rgb <0.4,0.7,1>] }scale 2 translate -y}finish{ambient 1}scale 1000} texture{ pigment{average pigment_map{ #declare gr=.75; #declare ge=3/(1+gr+gr); #declare t1=.1; #declare t2=.9; #declare tr1=.2; #declare tr2=.2; [1,bozo translate 1*y color_map{ [t1,color rgbt < 1,gr,gr,tr1>*ge] [t2,color rgbt < 0, 0, 0,tr2>*ge] }] [1,bozo translate 1*z color_map{ [t1,color rgbt < gr, 1,gr,tr1>*ge/.85] [t2,color rgbt < 0, 0, 0,tr2>*ge] }] [1,bozo translate 1*x color_map{ [t1,color rgbt < gr,gr, 1,tr1>*ge/.7] [t2,color rgbt < 0, 0, 0,tr2>*ge] }] }}scale 0.25 finish{ambient 1 diffuse 0}scale 3000} no_shadow // no_image no_reflection hollow double_illuminate scale 100} #declare glass=texture{pigment{color rgbt 1//<0.83,0.82,0.87>//.8 transmit 1.0 } finish{diffuse 0.5 ambient 0 specular 0.8 roughness 0.03 phong 1.0 brilliance 8 phong_size 80 metallic 0.5 reflection{.2,.4 fresnel} conserve_energy } } #declare st=texture{pigment{color rgb<0.83,0.82,0.84>*1.2} finish{diffuse 0.85 ambient 0 specular 0.8 roughness 0.03 phong 1.0 brilliance 7.3 phong_size 80 metallic .5 reflection{0.6,1.0 metallic}} } #declare pla=texture{ pigment{color rgb 1} finish{diffuse 1.1 phong 1.2 phong_size 80 reflection{.1,.3}} normal{bozo .3 scale .01} } #declare area=0; #declare areacount=2; #declare areasize=2.5; light_source{ -35*z, color rgb <1.0,0.8,0.6>*0.55 #if(area) area_light x*areasize,y*areasize,areacount,areacount jitter adaptive 1 circular orient #else parallel #end rotate x*55 rotate -y*45 } light_source{ -35*z, color rgb <0.6,0.8,1>*0.55 #if(area) area_light x*areasize,y*areasize,areacount,areacount jitter adaptive 1 circular orient #else parallel #end rotate x*25 rotate y*25 } camera{ // orthographic location -20*z look_at 0 angle 50 rotate x*35 rotate -y*25 } fog { fog_type 1 distance 180000 color rgb <0.64453125,0.69921875,0.78125,.15> fog_offset 1 fog_alt 1 } #macro hexdigit(h) #local hd=asc(h); #switch(hd) #range(asc("0"),asc("9")) (hd-asc("0")) #break #range(asc("A"),asc("F")) (hd-asc("A")+10) #break #range(asc("a"),asc("f")) (hd-asc("a")+10) #break #end #end #macro COLOR(s) color rgb < hexdigit(substr(s,2,1))/16+hexdigit(substr(s,3,1))/256, hexdigit(substr(s,4,1))/16+hexdigit(substr(s,5,1))/256, hexdigit(substr(s,6,1))/16+hexdigit(substr(s,7,1))/256 > #end #declare c=color rgb <.4,.5,.6>; #declare st= texture{pigment{color rgbt 1} finish{diffuse .2 phong .8 phong_size 100 specular .2 reflection{.3,.6 fresnel}conserve_energy} } #declare pattern1= texture{st} texture{ pigment{bozo color_map{ [0.,color rgb 0 transmit 1] [1,color rgb 0 transmit .9 filter .5] }} finish{diffuse 0 phong 1.5 phong_size 100 specular .0 reflection{.5,1 metallic}} normal{bozo 5 slope_map{ [0,<0,0>] [.55,<0,0>] [.6,<.5,.5>] [.65,<1.5,1>] [1,<2,.5>] } } } //#declare s1= difference{ sphere{0,1 scale 4 texture{bozo texture_map{ [.65,st] [.66, pattern1 ] }scale 1/5 } rotate y*clock*360 } sphere{0,1 scale 3.9 texture{st} } interior{ior 1.7} } global_settings{ max_intersections 128 max_trace_level 15 } #declare pbr=pigment{cells color_map{ [0,color rgb <0.9,0.8,1>] [1,color rgb <0.4,0.7,1>] }scale .5} #declare sp= texture{pla // pigment{checker color rgb <.5,.3,.9> color rgb 1 pigment{//checker color rgb <.45,.34,.35> color rgb <.9,.85,1> scale 4 gradient x sine_wave pigment_map{ [.1, gradient z sine_wave pigment_map{ [.1,pbr] [.35,color rgb 1] [.5,color rgb <0.65,0.75,1>] [.65,color rgb 1] [.9,pbr]}] [.35,color rgb 1] [.5,color rgb <0.65,0.75,1>] [.65,color rgb 1] [.9, gradient z sine_wave pigment_map{ [.1,pbr] [.35,color rgb 1] [.5,color rgb <0.65,0.75,1>] [.65,color rgb 1] [.9,pbr]}] } scale 4 rotate y*45 scale 5*z warp{turbulence .4 octaves 3}scale z/5 rotate y*-45 rotate y*-45 scale 5*z warp{turbulence .22 octaves 3}scale z/5 rotate y*45 translate y*.5 scale 1/4 scale 10 } normal{bozo 1.1 scale 8} } plane{ y,0 texture{sp} translate -y*4.01 }