Raytracing Page


Home                               Craigs Pages                            Heathers Pages



Our 2009 Christmas Card Ray Traced Image
This image uses both radiosity and ray tracing to enhance the realism. Looks pretty real doesn't it.

xmas

Until recently, I produced ray traced images using hand crafted POV files like that shown below.  A gallery of these images is available here and here.

Lately, however,  I have been experimenting with ray traced images based on random content. I have implemented a program called Art Rays for Window's and Art Rays for Mac to do this. Additionally, I have a version of Art Rays available for the iPhone/iPod Touch which is available at the iTunes app store. A gallery of Art Rays generated images is available here.

The reason I wrote Art Rays was that I had built a computer inside of a picture frame and wanted the picture frame to generate its own, unique art. Pretty cool huh? Check out the computerized picture frame here.

Ray traced images are rendered on a computer from a POV file that contains a mathematical description of what the image should look like. This POV file  describes the image that follows. This image is called "Riding The Red Sphere" because it looks like what you would see if you were sitting on the red sphere at the bottom.

// Scene by: Craig Lindley
// Last update: 08/17/06
global_settings { assumed_gamma 2.2 }

#include "colors.inc"
#include "textures.inc"
#include "stones.inc"

#declare Copper  = color rgb <0.84,0.04,0.15>;
#declare Orange1 = color rgb <1.00,0.16,0.00>;
#declare Orange2 = color rgb <1.00,0.35,0.00>;
#declare Purple1 = color rgb <0.87,0.00,1.00>;
#declare Purple2 = color rgb <1.00,0.14,1.00>;
#declare Purple3 = color rgb <0.82,0.00,0.82>;
#declare Green1  = color rgb <0.45,0.91,0.00>;
#declare Brown1  = color rgb <0.52,0.19,0.00>;
                
#declare small = 15;
#declare large = 20;
#declare xlarge = 25;
                
light_source {
  <75,100,-100>
  color White
}
camera {
   location  <0,-5,-108>
   direction <0,0,1>
   up  <0,1,0>
   right <1.33333,0,0>
   look_at <0,-12,0>
}
// Define the ground
#declare myground = object {
  plane { <0,1,0>, -50 hollow }
  texture {
    T_Stone26
    scale 300
   }
   finish {
     ambient 0.4
     diffuse 0.6
     reflection 0.6
     brilliance 20.0
     metallic
   }   
}
// The common sphere finish
#declare myfinish = finish {
    reflection 0.95
    brilliance 40
    phong 3
    phong_size 100
    ambient .1
    diffuse .85 
}
// Sphere 1
#declare sphere1 = object {
  sphere { <0,0,0> xlarge }
  texture { pigment {color Gold} }
  finish { myfinish }
}
// Sphere 2
#declare sphere2 = object {
  sphere { <-37.5,-30,-15.5> large }
  texture { pigment {color Green} }
  finish { myfinish }
}
// Sphere 3
#declare sphere3 = object {
  sphere { <52.5,-17.5,-18> large }
  texture { pigment {color Orange1} }
  finish { myfinish }

// Sphere 4
#declare sphere4 = object {
  sphere { <-57.5,12.5,0> small }
  texture { pigment {color Copper} }
  finish { myfinish }

// Sphere 5
#declare sphere5 = object {
  sphere { <12.5,-32.5,-12> small }
  texture { pigment {color Copper} }
  finish { myfinish }
}
// Sphere 6
#declare sphere6 = object {
  sphere { <47.5,17.5,20> small }
  texture { pigment {color Blue} }
  finish { myfinish }
}
// Sphere 7
#declare sphere7 = object {
  sphere { <-32.5,32.5,35> small }
  texture { pigment {color Green1} }
  finish { myfinish }
}
// Sphere 8
#declare sphere8 = object {
  sphere { <17.5,30,47.5> large }
  texture { pigment {color Orange1} }
  finish { myfinish }
}
// Sphere 9
#declare sphere9 = object {
  sphere { <0,-30,-100> large }
  texture { pigment {color Red} }
  finish { myfinish }
}
// Sphere 10
#declare sphere10 = object {
  sphere { <-45,-18,0> small }
  texture { pigment {color Orange2} }
  finish { myfinish }
}
// Sphere 11
#declare sphere11 = object {
  sphere { <40,-18,-5> small }
  texture { pigment {color Purple1} }
  finish { myfinish }
}
 
object { myground }
object { sphere1 }
object { sphere2 }
object { sphere3 }
object { sphere4 }
object { sphere5 }
object { sphere6 }
object { sphere7 }
object { sphere8 }
object { sphere9 }
object { sphere10 }
object { sphere11 }
// Riding the Red Sphere
                             

rtrs



Home                               Craigs Pages                            Heathers Pages