home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 16 / CD_ASCQ_16_0994.iso / news / 4613 / cover.rrt < prev    next >
Text File  |  1980-01-06  |  2KB  |  102 lines

  1. // Real Ray Tracer
  2. // The David F. Rogers cover's book : Procedural elements for computer graphics
  3.  
  4. #include "colors.inc"
  5. #include "shapes.inc"
  6. #include "textures.inc"
  7.  
  8. camera {
  9.   location <-5.5 1.4 -8>
  10.   point_at <0 0 0>
  11.   angle 35
  12. }
  13.  
  14. environment {
  15.    clouds
  16.    color_map {
  17.      [0 1 color Blue color White ]
  18.    }
  19.    brightness 1.1
  20. }
  21.  
  22. object {
  23.   light_source { <4 10 -10> intensity 20 color White }
  24. }
  25.  
  26. object {
  27.   light_source { <-6 8 0> intensity 17 color White }
  28. }
  29.  
  30. #declare Tube = object {
  31.   difference {
  32.     intersection {
  33.       Cylinder_Y
  34.       slab { <0 1 0> -0.5 0.5 }
  35.     }
  36.     object { Cylinder_Y scale <0.95 1 0.95> }
  37.   }
  38.   scale <0.5 5 0.5>
  39.   texture {
  40.     Jade
  41.     scale <0.8 0.8 0.8>    
  42.     ambient 0.20
  43.     diffuse 0.40
  44.     phong 0.25
  45.     phong_size 90
  46.   }
  47. }
  48.  
  49. #declare Bowl = object {
  50.   sphere { <0 0 0> 0.9 }
  51.   texture {
  52.     color Yellow
  53.     ambient 0.1
  54.     diffuse 0.06
  55.     reflection 0.25
  56.     refraction 0.70
  57.     ior 1.7              // glass
  58.     phong 0.25
  59.     phong_size 90
  60.   }
  61. }
  62.  
  63. #declare Tubex4 = composite {
  64.   object { Tube translate <-2 0 -2> }
  65.   object { Tube translate <-2 0  2> }
  66.   object { Tube translate < 2 0 -2> }
  67.   object { Tube translate < 2 0  2> }
  68. }
  69.  
  70. #declare Toy = object {
  71.   bound {
  72.     object { Tubex4 }
  73.     object { Tubex4 rotate <90 0 0> }
  74.     object { Tubex4 rotate <0 0 90> }
  75.     object { Bowl translate <-2 -2 -2> }
  76.     object { Bowl translate <-2 -2  2> }
  77.     object { Bowl translate <-2  2 -2> }
  78.     object { Bowl translate <-2  2  2> }
  79.     object { Bowl translate < 2 -2 -2> }
  80.     object { Bowl translate < 2 -2  2> }
  81.     object { Bowl translate < 2  2 -2> }
  82.     object { Bowl translate < 2  2  2> }
  83.   }
  84.   by box { <-2.9 -2.9 -2.9> <2.9 2.9 2.9> }
  85. }
  86.  
  87. object { Toy }
  88. object { Toy translate <-2 0 6> }
  89.  
  90. object {
  91.   plane { <0 1 0> -2.9 }
  92.   texture {
  93.     checker
  94.       texture { Red_Marble scale <0.3 0.3 0.3> diffuse 0.30 }
  95.       texture { White_Marble scale <0.25 0.25 0.25> diffuse 0.30 }
  96.     scale <3 0 3>
  97.     ambient 0.10
  98.     diffuse 0.25
  99.   }
  100. }
  101.  
  102. end.