// Furry Sphere on Reflective Checkered Plane // Thomas Willhalm 2003 #version unofficial megapov 1.1; #include "functions.inc" #declare show_marble=1; #declare show_fur=1; #declare show_radiosity=1; #declare show_focalblur=1; global_settings { assumed_gamma 1 ambient_light 0.0 max_trace_level 50 #if (show_radiosity) radiosity{ pretrace_start 0.08 pretrace_end 0.01 count 35 nearest_count 15 error_bound 0.2 recursion_limit 5 } #end } //---------------------------------------------------------------------- // sphere //---------------------------------------------------------------------- #declare Pig = pigment { color rgb <198,57,5>/255 } intersection { union { sphere { 0, 1 pigment { Pig } } #if (show_fur) isosurface {function{x*x+y*y+z*z-1.3 + 0.1*f_noise3d(10*x,10*y,10*z)} max_gradient 4 contained_by { sphere{ 0, 1.31} } hollow pigment { color rgbf <1,1,1,1> } interior { media { method 1 intervals 5 absorption 15 scattering { 6, rgb 1 diffuse 5 reflection 1 reflection_exponent 4 ratio 0.3 falloff 0.99 frequency 110 waves 5, 2 structure { sphere { 0, 1 } } pigment { Pig } force -y } density { rgb 3 } } } } sphere { 0, 1.2 hollow pigment { color rgbf <1,1,1,1> } interior { media { method 1 intervals 5 // absorption 15 scattering { 6, rgb 1 diffuse 5 reflection 0.7 reflection_exponent 4 ratio 0.4 frequency 80 waves 5, 1 structure { sphere { 0, 1 } } pigment { Pig } force -y } density { rgb 5 } } } } #end translate y } plane { -y,0 pigment { color rgb 0 } } } //---------------------------------------------------------------------- // stone floor //---------------------------------------------------------------------- #declare White_pigment = pigment { agate color_map { [ 0.0 color rgbf 1.0] [ 0.2 color rgbf 0.99] [ 0.6 color rgbf 0.95] [ 0.9 color rgbf 0.9] [ 1.0 color rgbf 0.5] } scale 0.5 } #declare Black_pigment = pigment { agate color_map { [ 0.0 color rgbf 0.0] [ 0.4 color rgbf 0.1] [ 0.8 color rgbf 0.2] [ 0.9 color rgbf 0.4] [ 1.0 color rgbf 0.9] } scale 0.5 } plane { y, -0.03 pigment {color rgb 0.8} } #if (show_marble) #declare X=-4; #while (X<4) #declare Z=-2; #while (Z<8) superellipsoid { <0.1,0.1> scale 0.5 translate hollow texture{ pigment { #if (2*((X+Z)/2-floor((X+Z)/2))=1) Black_pigment #else White_pigment #end rotate <0,90*(X-Z),0> } finish { reflection 0.8 specular 0.7 roughness 0.01 diffuse 0 } scale 2 } interior { media { method 2 scattering { 1, rgb 1 } density { rgb 1 } } } } #declare Z = Z+1; #end #declare X = X+1; #end #end //---------------------------------------------------------------------- // camera and lighting //---------------------------------------------------------------------- camera { location <-2, 1.7, -3> look_at <0,1,0> #if (show_focalblur) aperture 0.1 blur_samples 100 focal_point <0,1,0> #end } light_source { < 0, 16, -20 > color 1 spotlight point_at <0,1,0> radius 0.1 falloff 5 }