home *** CD-ROM | disk | FTP | other *** search
/ ANews 3 / AnewsCD3.iso / atari / GRAPHX / POV / 68030.060 / POV31G30 / POVRAY_3.1G / SCENES / INTERIOR / MEDIA / MEDIA2.POV < prev    next >
Text File  |  1999-10-30  |  4KB  |  174 lines

  1. // Persistence Of Vision raytracer version 3.1 sample file.
  2. //
  3. // Participating media with spotlights.
  4. //
  5.  
  6. //
  7. // The camera.
  8. //
  9.  
  10. camera {
  11.   location <5, 6, -18>
  12.   right 4/3*x
  13.   up y
  14.   direction z
  15.   angle 65
  16.   look_at <0, 4, 0>
  17. }
  18.  
  19. //
  20. // Add media. 
  21. //
  22.  
  23. media {
  24.   intervals 40
  25.   scattering {1, rgb 0.02}
  26.   samples 1, 10
  27.   confidence 0.9999
  28.   variance 1/1000
  29.   ratio 0.9
  30. }
  31.  
  32. //
  33. // Light source not interacting with the atmosphere. 
  34. //
  35.  
  36. light_source { <0, 15, 0> color rgb .3 
  37.   media_interaction off 
  38.   shadowless
  39. }
  40.  
  41. //
  42. // Spotlights pointing at shaft. 
  43. //
  44.  
  45. #declare Spot = light_source { 
  46.   <0, 0, 0> color rgb<1, 1, 1> * 2
  47.   spotlight
  48.   point_at <0, -1, 0>
  49.   radius 2
  50.   falloff 3
  51.   media_attenuation on
  52. }
  53.  
  54. #declare Spots = union {
  55.   object { Spot rotate <0, 0,  15> rotate <0,   0, 0> }
  56.   object { Spot rotate <0, 0,  15> rotate <0,  30, 0> }
  57.   object { Spot rotate <0, 0,  15> rotate <0,  60, 0> }
  58.   object { Spot rotate <0, 0,  15> rotate <0,  90, 0> }
  59.   object { Spot rotate <0, 0,  15> rotate <0, 120, 0> }
  60.   object { Spot rotate <0, 0,  15> rotate <0, 150, 0> }
  61.   object { Spot rotate <0, 0,  15> rotate <0, 180, 0> }
  62.   object { Spot rotate <0, 0,  15> rotate <0, 210, 0> }
  63.   object { Spot rotate <0, 0,  15> rotate <0, 240, 0> }
  64.   object { Spot rotate <0, 0,  15> rotate <0, 270, 0> }
  65.   object { Spot rotate <0, 0,  15> rotate <0, 300, 0> }
  66.   object { Spot rotate <0, 0,  15> rotate <0, 330, 0> }
  67.   object { Spot rotate <0, 0,  30> rotate <0,  10, 0> }
  68.   object { Spot rotate <0, 0,  30> rotate <0,  40, 0> }
  69.   object { Spot rotate <0, 0,  30> rotate <0,  70, 0> }
  70.   object { Spot rotate <0, 0,  30> rotate <0, 100, 0> }
  71.   object { Spot rotate <0, 0,  30> rotate <0, 130, 0> }
  72.   object { Spot rotate <0, 0,  30> rotate <0, 160, 0> }
  73.   object { Spot rotate <0, 0,  30> rotate <0, 190, 0> }
  74.   object { Spot rotate <0, 0,  30> rotate <0, 220, 0> }
  75.   object { Spot rotate <0, 0,  30> rotate <0, 250, 0> }
  76.   object { Spot rotate <0, 0,  30> rotate <0, 280, 0> }
  77.   object { Spot rotate <0, 0,  30> rotate <0, 310, 0> }
  78.   object { Spot rotate <0, 0,  30> rotate <0, 340, 0> }
  79.   object { Spot rotate <0, 0,  45> rotate <0,  20, 0> }
  80.   object { Spot rotate <0, 0,  45> rotate <0,  50, 0> }
  81.   object { Spot rotate <0, 0,  45> rotate <0,  80, 0> }
  82.   object { Spot rotate <0, 0,  45> rotate <0, 110, 0> }
  83.   object { Spot rotate <0, 0,  45> rotate <0, 140, 0> }
  84.   object { Spot rotate <0, 0,  45> rotate <0, 170, 0> }
  85.   object { Spot rotate <0, 0,  45> rotate <0, 200, 0> }
  86.   object { Spot rotate <0, 0,  45> rotate <0, 230, 0> }
  87.   object { Spot rotate <0, 0,  45> rotate <0, 260, 0> }
  88.   object { Spot rotate <0, 0,  45> rotate <0, 290, 0> }
  89.   object { Spot rotate <0, 0,  45> rotate <0, 320, 0> }
  90.   object { Spot rotate <0, 0,  45> rotate <0, 350, 0> }
  91. }
  92.  
  93. //
  94. // Declare steps. 
  95. //
  96.  
  97. #declare Step = prism {
  98.   linear_spline
  99.   linear_sweep
  100.   0, 1, 9
  101.   <cos(radians(0*45)), sin(radians(0*45))>, 
  102.   <cos(radians(1*45)), sin(radians(1*45))>, 
  103.   <cos(radians(2*45)), sin(radians(2*45))>, 
  104.   <cos(radians(3*45)), sin(radians(3*45))>, 
  105.   <cos(radians(4*45)), sin(radians(4*45))>, 
  106.   <cos(radians(5*45)), sin(radians(5*45))>, 
  107.   <cos(radians(6*45)), sin(radians(6*45))>, 
  108.   <cos(radians(7*45)), sin(radians(7*45))>,
  109.   <cos(radians(0*45)), sin(radians(0*45))>
  110.   rotate 22.5*y
  111. }
  112.  
  113. #declare Stair = union {
  114.   object { 
  115.     Step
  116.     scale <10, 0.5, 10>
  117.     translate <0, 0, 0>
  118.   }
  119.   object { 
  120.     Step
  121.     scale <8, 0.5, 8>
  122.     translate <0, 0.5, 0>
  123.   }
  124.   object { 
  125.     Step
  126.     scale <6, 0.5, 6>
  127.     translate <0, 1, 0>
  128.   }
  129. }
  130.  
  131. //
  132. // Declare shaft. 
  133. //
  134.  
  135. #declare Shaft1 = union {
  136.   cylinder { <0, 0.0, 0>, <0, 4.0, 0>, 0.6 }
  137.   cylinder { <0, 4.0, 0>, <0, 5.0, 0>, 0.8 }
  138.   cylinder { <0, 5.0, 0>, <0, 6.0, 0>, 0.4 }
  139.   cylinder { <0, 6.0, 0>, <0, 7.0, 0>, 0.2 }
  140. }
  141.  
  142. //
  143. // Position objects.
  144. //
  145.  
  146. object {
  147.   Spots
  148.   translate <0, 20, 0>
  149. }
  150.  
  151. object {
  152.   Stair 
  153.   pigment { color red 1 green 0.3 blue 0.3 }
  154.   finish { ambient 0.2 diffuse 0.5 }
  155. }
  156.  
  157. object { 
  158.   Shaft1
  159.   translate <0, 1.5, 0>
  160.   pigment { color red 0.3 green 1 blue 0.3 }
  161.   finish { ambient 0.2 diffuse 0.5 phong 1 phong_size 20 }
  162. }
  163.  
  164. //
  165. // Room. 
  166. //
  167.  
  168. box { <-25, 0, -25>, <25, 25, 25>
  169.   pigment { color red 1 green 1 blue 1 }
  170.   finish { ambient 0.2 diffuse 0.5 }
  171.   hollow
  172. }
  173.  
  174.