//--------------------------------------------------------------------------
#declare fn_A = function { sqrt(y*y + z*z) - 0.8 }
#declare fn_B = function { abs(x)+abs(y)-1 }
#declare Blob_threshold=0.125;

isosurface { //-------------------------------------------------------------

  function {
      (1+Blob_threshold)
      -pow(Blob_threshold,fn_A(x,y,z))
      -pow(Blob_threshold,fn_B(x,y,z))
  }
  max_gradient 4
  contained_by { box { <-4,-2,-3>, <4,2,3> } }

  texture{ pigment{ color rgb<1,0.3,0.4>}
           finish { phong 1}}
  scale 0.5
  rotate<0,20,0>rotate<-45,0,0>
  translate <0, 1.5, 0.2>
} // end of isosurface ----------------------------------------------------- 
