| 
  | 
Increased the render times errr... added blurred reflection and a bright
sphere. Unfortunately the mirror is now visible but I think the white glow
is interesting, although I didn't intend to create it. Feel free to
simplify or speed up my code.
//********************************************************************
#include "colors.inc"
#include "stones.inc"
#default {finish {ambient 0}}
// global_settings + photons added by William
global_settings {
   max_trace_level 99
   adc_bailout 1/127
   photons {
     count 20000
     max_trace_level 10
     autostop 0
     jitter 0
   }
 }
// end global_settings
// Begin additions by Yadgar
#declare s1=seed(1979);
#declare Yadgar_Silver = texture { //TA
   pigment { color rgb 0.75 }
   finish {
      brilliance 0.7
      diffuse 1
      reflection 0.5
      specular 0.8
      roughness 0.001
   }
};
#declare Silver_Ball= sphere {
    0, 0.04
    texture {Yadgar_Silver}
}
// End additions by Yadgar
camera {
   location <-5,10,-20>
   look_at 0
}
light_source {
   <1.5,1.3,-1.0>*10 color rgb 1.2 //brightened by Lukas Winter
   spotlight point_at y  radius 15 falloff 25 area_light  x*2,y*2,25,25
   circular    orient    adaptive 0 photons {
     refraction on reflection on
   }
 }
//changes by Lukas Winter
#macro blurred_reflection(pigm, fin, amount, sampl)
  texture
  {
    average
    texture_map
    {
      #while(sampl > 0)
        [1
          pigment { pigm }
          finish { fin }
          normal
          {
            bumps amount
            rotate <rand(s1), rand(s1), rand(s1)>
            translate x*rand(s1)
            scale rand(s1)*.1
          }
        ]
        #declare sampl = sampl -1;
      #end
    }
  }
#end
#declare plane_pigment = pigment { Grey };
#declare plane_finish = finish { reflection .5 specular .2 };
plane
{
   y, 0
   blurred_reflection(plane_pigment,
     plane_finish,
     .4, 15)
   no_reflection
   photons
   {
     reflection off
     collect on
   }
}
plane
{
  y, 0
  pigment { plane_pigment }
  finish { plane_finish }
  no_image
  no_shadow
}
light_source
{
  <-8, .8, 3>
  color <1, 1, .8>
  fade_power 2
  fade_distance .8
}
sphere
{
  <-8, .8, 3>, .8
  pigment
  {
    rgbt <1, 1, 1, 1>
  }
  hollow
  interior
  {
    media
    {
      emission 1.4*<1, 1, .8>
    }
  }
}
//end changes by Lukas Winter
#macro rubber(col)
   texture {
     pigment {color col}
     finish {specular 1/4}
     normal {bumps 1/50 scale 1/100}
   }
#end
sphere {<0,3,0>, 3  rubber(rgb x)}
sphere {<4,2,-3>, 2 rubber(rgb x+y)}
sphere {<-2,1,-4>, 1  rubber(rgb z)}
// Box added by William
box {
   <0, 0, 0>
   <2, 2, 2>
   //Distorted by Alain
   rotate -21
   scale<1.3,1,0.8>
   rotate 21
   //end distortion
   rotate y * 45
   translate z * -5
   texture
   {
      pigment { color rgbt 0.75 }
      normal {bumps 0.5 scale 0.2}
      finish {
       brilliance 0.5
       diffuse 0.1
       reflection 0.5
       specular 0.75
       roughness 0.001
     }
     
   }
   interior
   {
     ior 1.35
   }
   photons {
     target
     refraction on
     reflection on
     collect off
   }
   }
// End of William's box
// Begin additions by Yadgar
#declare n=0;
#while (n<1800)
    #declare r1=rand(s1)*360;
    #declare r2=asin(rand(s1)*2-1);
    object { Silver_Ball translate <0, 3, 0>+3*<sin(r1*(pi/180))*cos(r2),
sin(r2), cos(r1*(pi/180))*cos(r2)> }
    #declare n=n+1;
#end
#declare n=0;
#while (n<800)
    #declare r1=rand(s1)*360;
    #declare r2=asin(rand(s1)*2-1);
    object { Silver_Ball translate <4, 2,
-3>+2*<sin(r1*(pi/180))*cos(r2), sin(r2), cos(r1*(pi/180))*cos(r2)> }
    #declare n=n+1;
#end
#declare n=0;
#while (n<200)
    #declare r1=rand(s1)*360;
    #declare r2=asin(rand(s1)*2-1);
    object { Silver_Ball translate <-2, 1, -4>+<sin(r1*(pi/180))*cos(r2),
sin(r2), cos(r1*(pi/180))*cos(r2)> }
    #declare n=n+1;
#end
// End additions by Yadgar
//Addition by Alain
union{
	plane{-z,-10 rotate -4*y}
	plane{z,-10 no_image no_shadow}
	pigment{rgb 0.9}
	hollow //to prevent the warning
	finish{reflection 0.97 }
	rotate 1*y
}
// End addition by Alain
// Addition by Tim Attwood
#macro RingOf(Obj StartPos IncRot Num)
  #local _COUNT = 0;
  #local _ROT = <0,0,0>;
  #while (_COUNT < Num)
    object {Obj translate StartPos
      rotate <_ROT.x,0,0>
      rotate <0,_ROT.y,0>
      rotate <0,0,_ROT.z>}
    #local _ROT = _ROT + IncRot;
    #local _COUNT = _COUNT + 1;
  #end
#end
#declare pin = union{
   union {
    sphere{0,0.0625}
    difference{ sphere{0,0.0625 scale 2*x}plane{x,0}} texture {
      pigment{Violet}
      finish {reflection 0.1
      specular 0.3
      roughness 0.001}
    }
    }
   cylinder{0,1.4*x,0.015}
   cone{<1.4,0,0>,0.015,<1.825,0,0>,0}
   rotate <0,0,-1.9>
   scale 1
   translate <0,-0.965,0>
   texture{Yadgar_Silver}
}
union { RingOf(pin, <-2,0,0>,<0,7,0>,12) rotate -75*y translate <-3,1,-5>}
// End addition by Tim Attwood
image found at http://www.geloescht.net/allerlei/pingpong2.png
 Post a reply to this message 
 | 
  |