home *** CD-ROM | disk | FTP | other *** search
/ Ray Tracing Box / RAY_CD.mdf / RAYTRACE / _POV_DAT / WINDOW / WINDOW.POV < prev   
Encoding:
Text File  |  1994-04-01  |  6.5 KB  |  282 lines

  1. /*This is the data file for the 'window looking out on Merunari Canyon. The
  2. bounding box has been commented out because it traces much faster without it.
  3. At 120x90, -a, it takes 20 seconds without the box, and 2:08 with it! The image
  4. map of Merunari Canyon was created by Russell Leidich with his own personal 
  5. landscape generator. The window frame was modeled in MORAY by Robert Mickelsen.*/
  6.  
  7.  
  8.  
  9. #include "colors.inc"
  10. #include "textures.inc"
  11. #include "shapes.inc"
  12. #include "moulding.inc"
  13.  
  14.  
  15. camera {  //  Camera Camera01
  16.   location  <7.348, 8.061, -23.696>
  17.   direction <0.0,     0.0,  2.4880>
  18.   sky       <0.0,     1.0,  0.0>
  19.   up        <0.0,     1.0,  0.0>
  20.   right     <1.3333,  0.0,  0.0>
  21.   look_at   <0.000, 0.000, 0.000>
  22. }
  23.  
  24. object {   // Light source Light001
  25.   light_source {
  26.     <-26.815, 16.639, -40.672>  //this light source gives better detail
  27.     //<-5000, 5000, -5000>  //this is the group project default light source
  28.     color  red 1.000 green 1.000 blue 1.000
  29.   }
  30. }
  31.  
  32. object {   // Light source Light002
  33.   light_source {
  34.     <-26.815, 16.639, -40.672>
  35.     //<5000, 5000, -5000>
  36.     color  red 1.000 green 1.000 blue 1.000
  37.   }
  38. }
  39.  
  40.  
  41.  
  42. #declare canyontex = texture {
  43.   finish {
  44.     ambient   1.0
  45.     diffuse   0.0
  46.  
  47.   }
  48.   pigment {
  49.     image_map {
  50.       gif "merunari.gif" map_type 0 interpolate 2 once
  51.     }
  52.   }
  53. }
  54.  
  55. /*#declare wintex = texture {  //dummy texture for window frame
  56.  pigment { color red  1.000 green  1.000 blue  1.000 }
  57.  finish {
  58.   ambient   0.10
  59.   diffuse   0.50
  60.   brilliance   1.00
  61.   phong   0.60
  62.   phong_size  20.00
  63.  }
  64. }*/
  65.  
  66. #declare windowbound = box {
  67.    <-1.0, -1.0, -1.0>, <1.0, 1.0, 1.0>
  68.    scale <4.112768, 4.285690, 1.069516>
  69.    translate <-0.063019, 2.457735, 0>
  70. }
  71.  
  72. #declare sill = box {
  73.   <-1, -1, -1>, <1, 1, 1>
  74.   texture {
  75.     Sandalwood
  76.   }
  77.   scale <4.000000, 1.000000, 0.200000>
  78. }
  79.  
  80. #declare frame1 = box {
  81.   <-1, -1, -1>, <1, 1, 1>
  82.   texture {
  83.     Sandalwood
  84.   }
  85.   scale <0.250000, 0.550000, 3.000000>
  86.   translate <-3.569588, 0.444675, 3.202583>
  87. }
  88.  
  89. #declare frame2 = box {
  90.   <-1, -1, -1>, <1, 1, 1>
  91.   texture {
  92.     Sandalwood
  93.   }
  94.   scale <0.250000, 0.550000, 3.000000>
  95.   translate <3.586321, 0.455282, 3.202583>
  96. }
  97.  
  98. #declare frame3 = box {
  99.   <-1, -1, -1>, <1, 1, 1>
  100.   texture {
  101.     Sandalwood
  102.   }
  103.   scale <0.250000, 0.550000, 3.825000>
  104.   rotate <-0.000000, -90.000000, -0.000000>
  105.   translate <0.011043, 0.455282, 6.455348>
  106. }
  107.  
  108. #declare sillbase = box {
  109.   <-1, -1, -1>, <1, 1, 1>
  110.   texture {
  111.     Sandalwood
  112.   }
  113.   scale <3.900000, 0.500000, 0.750000>
  114.   translate <0.000000, 0.346694, -0.962447>
  115. }
  116.  
  117. #declare csgobj1 = union {
  118.   object { sill }
  119.   object { frame1 }
  120.   object { frame2 }
  121.   object { frame3 }
  122.   object { sillbase }
  123. }
  124.  
  125. #declare moulding1 = object {
  126.   moulding
  127.   scale <0.175000, 0.200000, 6.505000>
  128.   rotate <-0.000000, -0.000000, -180.000000>
  129.   translate <-3.671272, -0.292208, 0.201693>
  130. }
  131.  
  132. #declare moulding2 = object {
  133.   moulding
  134.   scale <0.175000, 0.200000, 6.505000>
  135.   rotate <-0.000000, -180.000000, -180.000000>
  136.   translate <3.678644, -0.292208, 6.709047>
  137. }
  138.  
  139. #declare moulding3 = object {
  140.   moulding
  141.   scale <0.175000, 0.200000, 7.700000>
  142.   rotate <-0.000000, -90.000000, -180.000000>
  143.   translate <-3.845547, -0.292208, 6.530681>
  144. }
  145.  
  146. #declare moulding4 = object {
  147.   moulding
  148.   scale <0.500000, 0.500000, 7.800000>
  149.   rotate <-0.000000, -90.000000, -180.000000>
  150.   translate <-3.948652, -0.669691, -0.710094>
  151. }
  152.  
  153. #declare winframe1 = box {
  154.   <-1, -1, -1>, <1, 1, 1>
  155.   texture {
  156.     Sandalwood
  157.   }
  158.   scale <0.300000, 0.200000, 3.000000>
  159.   translate <-3.020835, 0.628978, 3.231981>
  160. }
  161.  
  162. #declare winframe2 = box {
  163.   <-1, -1, -1>, <1, 1, 1>
  164.   texture {
  165.     Sandalwood
  166.   }
  167.   scale <0.300000, 0.200000, 3.000000>
  168.   translate <3.038663, 0.628978, 3.231981>
  169. }
  170.  
  171. #declare winframe3 = box {
  172.   <-1, -1, -1>, <1, 1, 1>
  173.   texture {
  174.     Sandalwood
  175.   }
  176.   scale <0.300000, 0.200000, 3.000000>
  177.   rotate <-0.000000, -90.000000, -0.000000>
  178.   translate <0.041735, 0.628978, 5.865445>
  179. }
  180.  
  181. #declare winframe4 = box {
  182.   <-1, -1, -1>, <1, 1, 1>
  183.   texture {
  184.     Sandalwood
  185.   }
  186.   scale <0.300000, 0.200000, 3.000000>
  187.   rotate <-0.000000, -90.000000, -0.000000>
  188.   translate <0.005466, 0.628978, 0.482024>
  189. }
  190.  
  191. /*the following declarations are for the cross moulding pieces in the window.
  192. For a center cross configuration (+), use winglazing1 and winglazing4. For a
  193. 'tic-tac-toe' configuration (#), use winglazing2, 3, 5, and 6.*/
  194.  
  195. #declare winglazing1 = box {  //for center cross moulding
  196.   <-1, -1, -1>, <1, 1, 1>
  197.   texture {
  198.     Sandalwood
  199.   }
  200.   scale <0.050000, 0.190000, 3.000000>
  201.   translate <0.000000, 0.634033, 3.119166>
  202. }
  203. /*#declare winglazing2 = box {
  204.   <-1, -1, -1>, <1, 1, 1>
  205.   texture {
  206.     Sandalwood
  207.   }
  208.   scale <0.050000, 0.190000, 3.000000>
  209.   translate <1.800000, 0.634033, 3.119166>
  210. }
  211. #declare winglazing3 = box {
  212.   <-1, -1, -1>, <1, 1, 1>
  213.   texture {
  214.     Sandalwood
  215.   }
  216.   scale <0.050000, 0.190000, 3.000000>
  217.   translate <-1.800000, 0.634033, 3.119166>
  218. }*/
  219.  
  220. #declare winglazing4 = box {  // for center cross moulding
  221.   <-1, -1, -1>, <1, 1, 1>
  222.   texture {
  223.     Sandalwood
  224.   }
  225.   scale <0.050000, 0.190000, 3.000000>
  226.   rotate <-0.000000, -90.000000, -0.000000>
  227.   translate <0.000000, 0.634033, 3.119166>
  228. }
  229. /*#declare winglazing5 = box {
  230.   <-1, -1, -1>, <1, 1, 1>
  231.   texture {
  232.     Sandalwood
  233.   }
  234.   scale <0.050000, 0.190000, 3.000000>
  235.   rotate <-0.000000, -90.000000, -0.000000>
  236.   translate <0.000000, 0.634033, 3.119166>
  237.   translate <0, 0, 1.8>
  238. }
  239. #declare winglazing6 = box {
  240.   <-1, -1, -1>, <1, 1, 1>
  241.   texture {
  242.     Sandalwood
  243.   }
  244.   scale <0.050000, 0.190000, 3.000000>
  245.   rotate <-0.000000, -90.000000, -0.000000>
  246.   translate <0.000000, 0.634033, 3.119166>
  247.   translate <0, 0, -1.8>
  248. }*/
  249.  
  250. #declare pane = box {
  251.   <-1, -1, -1>, <1, 1, 1>
  252.   texture {
  253.     canyontex
  254.     scale <2.000000, 2.000000, 1.000000>
  255.     rotate <90.000000, -0.000000, -0.000000>
  256.     translate <-1.000000, -1.000000, -1.000000>
  257.   }
  258.   scale <3.000000, 0.050000, 3.000000>
  259.   translate <0.036269, 0.698661, 2.991562>
  260. }
  261.  
  262. union {   // window
  263.   object { csgobj1 }
  264.   object { moulding1 }
  265.   object { moulding2 }
  266.   object { moulding3 }
  267.   object { moulding4 }
  268.   object { winframe1 }
  269.   object { winframe2 }
  270.   object { winframe3 }
  271.   object { winframe4 }
  272.   object { winglazing1 }
  273.   object { winglazing4 }
  274.   //object { winglazing5 }
  275.   //object { winglazing6 }
  276.   object { pane }
  277.   rotate <90, 0, 0>
  278.   scale <1, -1, 1>
  279.   //bounded_by { windowbound }  //traces faster without this.
  280.   translate <0.000000, -2.472184, 0.376202>
  281. }
  282.