sky_sphere {
   pigment {
      color rgb <0.207843, 0.196078, 0.203922>
   }
}

global_settings {
   adc_bailout 0.00392157
   assumed_gamma 1.5
}

light_source {
   <-0.398387, 0.50979, 2.5>, rgb <1, 1, 1>
}

camera {
   perspective
   location <-0.106258, -0.8, 3.60026>
   sky <0, 1, 0>
   direction <0, 0, 1>
   right <1.33333, 0, 0>
   up <0, 1, 0>
   look_at <0.020949, -0.0333333, 0.0416333>
   angle 45
}
//*PMRawBegin
#declare Iso_accuracy = 0.0001;
#declare Outer_Start = 8;
#declare Outer_Peak = 16;
#declare Outer = function(x) { (Outer_Start - Outer_Peak)*x*x + Outer_Peak }
#declare Inner = 0.8;
#declare Freq_Start = 1;
#declare Freq_Peak = 20;
#declare Freq = function(x) { (Freq_Start - Freq_Peak)*x*x + (Freq_Peak) }
//*PMRawEnd

#declare glass1 = material {
   interior {
      ior 1.6
   }
   
   texture {
      finish {
         diffuse 0.2
         specular 0.2
         reflection rgb <0.321569, 0.321569, 0.376471>
      }
      
      pigment {
         color rgbft <0.376471, 0.411765, 0.560784, 0.8, 0.8>
      }
      
      normal {
         bumps
         0.5
         bump_size 1
      }
   }
}

#declare rock = texture {
   granite
   
   texture_map {
      [ 0 pigment {
         color rgb <0.584314, 0.576471, 0.564706>
      }
      //*PMRawBegin
      normal { bumps 1.0 scale 0.07 }
      //*PMRawEnd
      
      finish {
         ambient rgb <0.180392, 0.180392, 0.180392>
         diffuse 0.31
         specular 0.2
         roughness 0.1
      }
      ]
      [ 0.1 pigment {
         color rgb <0.572549, 0.560784, 0.533333>
      }
      //*PMRawBegin
      normal { bumps 1.0 scale 0.07 }
      //*PMRawEnd
      
      finish {
         ambient rgb <0.19, 0.19, 0.19>
         diffuse 0.32
         specular 0.1
         roughness 0.05
      }
      ]
      [ 0.2 pigment {
         color rgb <0.619608, 0.568627, 0.501961>
      }
      //*PMRawBegin
      normal { bumps 1.0 scale 0.07 }
      //*PMRawEnd
      
      finish {
         ambient rgb <0.24, 0.24, 0.24>
         diffuse 0.3
      }
      ]
      [ 0.35 pigment {
         color rgb <0, 0, 0>
      }
      //*PMRawBegin
      normal { bumps 1.0 scale 0.07 }
      //*PMRawEnd
      
      finish {
         ambient rgb <0.2, 0.2, 0.2>
         diffuse 0.36
         brilliance 0.4
         reflection rgb <0.313725, 0.313725, 0.313725>
      }
      ]
      [ 0.7 pigment {
         color rgb <0.470588, 0.470588, 0.470588>
      }
      //*PMRawBegin
      normal { bumps 1.0 scale 0.07 }
      //*PMRawEnd
      
      finish {
         ambient rgb <0.17, 0.17, 0.17>
         diffuse 0.34
         specular 0.2
         roughness 0.05
         reflection rgb <0.12549, 0.12549, 0.12549>
      }
      ]
      [ 1 pigment {
         color rgb <0.368627, 0.364706, 0.352941>
      }
      //*PMRawBegin
      normal { bumps 1.0 scale 0.07 }
      //*PMRawEnd
      
      finish {
         ambient rgb <0.133333, 0.133333, 0.133333>
         diffuse 0.3
         specular 0.2
         roughness 0.005
      }
      ]
   }
   scale 0.1
}

#declare silver = texture {
   pigment {
      color rgb <0.819608, 0.890196, 0.788235>
   }
   
   finish {
      ambient rgb <0.172549, 0.172549, 0.172549>
      diffuse 0.62
      brilliance 0.9
      metallic 1
      specular 0.45
      roughness 0.06
      reflection rgb <0.882353, 0.882353, 0.882353>
   }
   //*PMRawBegin
   normal { bumps 0.3 scale 0.04 }
   //*PMRawEnd
}

union {
   //*PMName red
   //*PMRawBegin
   #declare Phase = 0;
   isosurface {
   function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
   max_gradient 125
   threshold .3
   accuracy Iso_accuracy
   }
   //*PMRawEnd
   //*PMRawBegin
   #declare Phase = 0;
   isosurface {
   function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
   max_gradient 125
   threshold .3
   accuracy Iso_accuracy
   rotate <0, 0, 45>
   }
   //*PMRawEnd
   //*PMRawBegin
   #declare Phase = 0;
   isosurface {
   function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
   max_gradient 125
   threshold .3
   accuracy Iso_accuracy
   rotate <0, 0, 90>
   }
   //*PMRawEnd
   //*PMRawBegin
   #declare Phase = 0;
   isosurface {
   function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
   max_gradient 125
   threshold .3
   accuracy Iso_accuracy
   rotate <0, 0, 135>
   }
   //*PMRawEnd
   
   pigment {
      color rgb <0.819608, 0.890196, 0.788235>
   }
   
   finish {
      ambient rgb <0.172549, 0.172549, 0.172549>
      diffuse 0.62
      brilliance 0.9
      metallic 1
      specular 0.45
      roughness 0.06
      reflection rgb <0.882353, 0.882353, 0.882353>
   }
   //*PMRawBegin
   normal { bumps 0.45 scale 0.05 }
   //*PMRawEnd
}

union {
   //*PMName blue
   //*PMRawBegin
   #declare Phase = pi;
   isosurface {
   function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
   max_gradient 125
   threshold .3
   accuracy Iso_accuracy
   }
   //*PMRawEnd
   //*PMRawBegin
   #declare Phase = pi;
   isosurface {
   function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
   max_gradient 125
   threshold .3
   accuracy Iso_accuracy
   rotate <0, 0, 45>
   }
   //*PMRawEnd
   //*PMRawBegin
   #declare Phase = pi;
   isosurface {
   function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
   max_gradient 125
   threshold .3
   accuracy Iso_accuracy
   rotate <0, 0, 90>
   }
   //*PMRawEnd
   //*PMRawBegin
   #declare Phase = pi;
   isosurface {
   function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
   max_gradient 125
   threshold .3
   accuracy Iso_accuracy
   rotate <0, 0, 135>
   }
   //*PMRawEnd
   
   pigment {
      color rgb <0.890196, 0.6, 0.286275>
   }
   
   finish {
      ambient rgb <0.172549, 0.172549, 0.172549>
      diffuse 0.62
      brilliance 0.9
      metallic 1
      specular 0.45
      roughness 0.06
      reflection rgb <0.682353, 0.682353, 0.682353>
   }
   //*PMRawBegin
   normal { bumps 0.5 scale 0.04 }
   //*PMRawEnd
}

plane {
   <0, 0, 1>, -0.933333
   scale 1
   rotate <0, 0, 0>
   translate <0, 0, 0>
   
   texture {
      rock
   }
}