#declare al_on=0; #declare sss_on=1; /************ CAMERA ***********/ camera{ perspective location <1.6,0.8,-3.0>*1.5 // (I recommend a 480 x 640 vertical image size) up y right x*image_width/image_height angle 43 look_at <0,-.6,0> } /******** LIGHT SOURCES ********/ light_source{ //<2,5,4> // backlit <4,5,2> // less backlit rgb <1.2,1.15,1.1> #if(al_on) area_light 1.5*x,1.5*z, al_on,al_on circular orient jitter #end media_interaction on media_attenuation on } light_source{<-4,5,-2> rgb <0.15,0.2,0.25> #if(al_on*0) area_light 1.5*x,1.5*z, al_on,al_on circular orient jitter #end media_interaction on media_attenuation on } /********** MATERIALS ********/ #declare white_plastic = material{ texture{ #if(sss_on) pigment{rgbt <1,1,1,1>} #else pigment{rgbt <1,1,1,0>} #end finish{ diffuse 1.0 ambient 0 specular 0.5 roughness 0.005 } } interior{ ior 2.0 media{ #declare col = <.78,.72,.65>; #declare sc = 100; #declare ex = .3; scattering {5, rgb ((1-col)+<0,0,0>)*sc extinction ex eccentricity 0} emission <1,1,1>*0 absorption <1.5,2.3,2.6>*4 intervals 1 samples 100 method 3 } } } #declare red_plastic = material{ texture{ #if(sss_on) pigment{rgbt <0,0,0,1> + <.7,0.1,0.0,0>*1} #else pigment{rgbt <.6,.1,.0,0>} #end finish{ diffuse 1.0 ambient 0 specular 0.5 roughness 0.05 reflection 0.05 } } interior{ ior 2 media{ #declare col = <.8,.6,.5>; #declare sc = 20; #declare ex = 1.3; scattering {5, rgb ((1-col)+<0,0,0>)*sc extinction ex eccentricity 0} emission <.3,0,0> absorption <0,15,50>*5 intervals 1 samples 300 method 3 } } } #declare skin_material = material{ texture{ #if(sss_on) pigment{rgbt <1.0,0.87,0.75,0>*1.2 + <0,0,0,.95>} #else pigment{rgbt <1.0,0.7,0.6,0.0>} #end finish{ #if(sss_on) diffuse 8.0 #else diffuse 1.0 #end ambient 0 specular 0.05 roughness 0.03 } normal{ crackle bump_size 0.4 scale 0.025 } } interior{ ior 2.0 media{ #declare col = <.89,.75,.5>; #declare sc = 200; #declare ex = 0.75; scattering {5, rgb ((1-col)+<0,0,0>)*sc extinction ex eccentricity -.1} emission <1,.5,.3>*2*1.2 absorption (<1,3,7>*3*1.4) intervals 1 samples 500 method 3 } } } /************ OBJECTS *************/ object{ merge{ torus{.5,.07 rotate x*90} torus{.5,.07 rotate x*90+y*90} torus{.5,.07} } //material{skin_material} material{white_plastic} hollow translate y*0.7 scale 1.3 translate -y*1.2 } superellipsoid{0.1 material{red_plastic} scale 1.2 translate -y*1.2 hollow translate -y*1.02 } /*********** A NICE BACKDROP ********/ sky_sphere{ pigment{ gradient y color_map{ [0.0 rgb 0] [0.18/2 rgb 0.0] [0.5*(0.18/2+0.65/2) rgb <.45,.4,.35>] [0.65/2 rgb 0.95] [0.73/2 rgb 1.0] [1.0 rgb 0] } turbulence 0.15 scale <1,2.1*2,1> translate -y*1.05*1.21 rotate y*10 } pigment{ granite color_map{ [0 rgbf <0,0,.4,0.9>] [1 rgbf <1,1,1.2,0.9>] } turbulence 0.7 } }