// Pastel Abstract
//
// by Peter Popov
// peter.popov@tag.povray.org

#version 3.5;

#include "colors.inc"
#include "functions.inc"

global_settings {
  assumed_gamma 1.0
}

#macro f(a,b,c)
  f_noise_generator((a),(b),(c),3)
#end

union {
  #declare i=0;
  #while (i<10)
    #declare j=0;
    #while (j<10)
      #declare k=0;
      #while (k<10)
        box {
          -1, 1
          scale 1+0.5*f((i-7)/5,(j+3)/5,(k+4)/5)
          rotate <i,j,k>*5
          translate <i-5,j-5,k-5>
        }
        #declare k=k+1;
      #end
      #declare j=j+1;
    #end
    #declare i=i+1;
  #end

  material {
    texture {
      pigment {
        Gray90
        filter 0.95
      }
    
      finish {
        ambient 0
        diffuse 1
        brilliance 2
        reflection {
          0.5
          metallic off
          exponent 2
          falloff 2
        }
        conserve_energy
      }
    }
    
    interior {
      fade_distance 0.5
      fade_power 2
    }
  }
  
  rotate 45*z
  rotate degrees(1)*x
  no_reflection
}
camera {
  orthographic
  location -20*z
  look_at 0
  right 10*x
  up 10*y
  normal {
    granite 0.01 scale 0.5
  }
}

light_source {
  -1000*z color White
}

sphere {
  0, 1
  texture {
    pigment {
      image_map {
        jpeg "eternal battle.jpg"
        map_type 1
        interpolate 2
      }
    }
  
    finish {
      ambient 1
      diffuse 0
    }
  }
  scale 10000
  hollow
  no_image
}