home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / p / pvrayfiles / SceneFiles / Desk < prev    next >
Encoding:
Text File  |  1988-06-16  |  22.9 KB  |  939 lines

  1. // Persistence of Vision Raytracer
  2. // Sample Filer
  3. // By Brian Tucker
  4.  
  5. // My Desk - Well Sort Of
  6. // This is big, very big, needs at least 1.5megs of free RAM.
  7. // And takes a while due to the large number
  8. // Of primitives involoved. Sorry !! :-(
  9.  
  10. #include "<PVRay$Dir>.Dat.Colors"
  11. #include "<PVRay$Dir>.Dat.Shapes"
  12. #include "<PVLib$Dir>.Dat.Metals"
  13. #include "<PVRay$Dir>.Dat.Textures"
  14.  
  15. view_point
  16.    location <-50 10 -29.9>
  17.    direction <0 0 1>
  18.    up <0 1 0>
  19.    right <1.333333 0 0>
  20.    look_at <-20 -10 20>
  21. end_view_point
  22.  
  23. // Now to set up some declarations.
  24. // (Some is a bit of an understatement, but it suits the 
  25. //  current purpose fine.)
  26.  
  27. #declare Cradle_Ball = composite
  28.    object
  29.       sphere <0.0 -2.0 0.0> 1 end_sphere
  30.       texture
  31.          Metal_Silver
  32.       end_texture
  33.    end_object
  34.    object
  35.       intersection
  36.          union
  37.             quadric
  38.                Cylinder_Y
  39.                scale <0.01 1.0 0.01>
  40.                rotate <0.0 0.0 33.69>
  41.                translate <0.0 -2.0 0.0>
  42.             end_quadric
  43.             quadric
  44.                Cylinder_Y
  45.                scale <0.01 1.0 0.01>
  46.                rotate <0.0 0.0 -33.69>
  47.                translate <0.0 -2.0 0.0>
  48.             end_quadric
  49.          end_union
  50.          plane <0.0 1.0 0.0> 5 end_plane
  51.          plane <0.0 -1.0 0.0> 2 end_plane
  52.       end_intersection
  53.       texture
  54.          colour Black
  55.       end_texture
  56.    end_object
  57. end_composite
  58.  
  59. #declare Newtons_Cradle = composite
  60.    object
  61.       union
  62.          sphere <-5 -5 -5> 0.25 end_sphere
  63.          sphere < 5 -5 -5> 0.25 end_sphere
  64.          sphere <-5  5 -5> 0.25 end_sphere
  65.          sphere < 5  5 -5> 0.25 end_sphere
  66.          sphere <-5 -5  5> 0.25 end_sphere
  67.          sphere < 5 -5  5> 0.25 end_sphere
  68.          sphere <-5  5  5> 0.25 end_sphere
  69.          sphere < 5  5  5> 0.25 end_sphere
  70.       end_union
  71.       texture
  72.          Metal_Silver
  73.       end_texture
  74.    end_object
  75.    object
  76.       intersection
  77.          union
  78.             quadric
  79.                Cylinder_Z
  80.                scale <0.25 0.25 1.0>
  81.                translate <-5 5 0>
  82.             end_quadric
  83.             quadric
  84.                Cylinder_Z
  85.                scale <0.25 0.25 1.0>
  86.                translate <5 5 0>
  87.             end_quadric
  88.          end_union
  89.          plane <0.0 0.0 1.0> 5 end_plane
  90.          plane <0.0 0.0 -1.0> 5 end_plane
  91.       end_intersection
  92.       texture
  93.          Metal_Silver
  94.       end_texture
  95.    end_object
  96.    object
  97.       intersection
  98.          union
  99.             quadric
  100.                Cylinder_Y
  101.                scale <0.25 1.0 0.25>
  102.                translate <-5 0 -5>
  103.             end_quadric
  104.             quadric
  105.                Cylinder_Z
  106.                scale <0.25 1.0 0.25>
  107.                translate <-5 0 5>
  108.             end_quadric
  109.             quadric
  110.                Cylinder_Z
  111.                scale <0.25 1.0 0.25>
  112.                translate <5 0 -5>
  113.             end_quadric
  114.             quadric
  115.                Cylinder_Z
  116.                scale <0.25 1.0 0.25>
  117.                translate <5 0 5>
  118.             end_quadric
  119.          end_union
  120.          plane <0.0 1.0 0.0> 5 end_plane
  121.          plane <0.0 -1.0 0.0> 5 end_plane
  122.       end_intersection
  123.       texture
  124.          Metal_Silver
  125.       end_texture
  126.    end_object
  127.    object
  128.       intersection
  129.          union
  130.             quadric
  131.                Cylinder_X
  132.                scale <1.0 0.25 0.25>
  133.                translate <0 -5 5>
  134.             end_quadric
  135.             quadric
  136.                Cylinder_X
  137.                scale <1.0 0.25 0.25>
  138.                translate <0 -5 5>
  139.             end_quadric
  140.          end_union
  141.          plane <1.0 0.0 0.0> 5 end_plane
  142.          plane <-1.0 0.0 0.0> 5 end_plane
  143.       end_intersection
  144.       texture
  145.          Metal_Silver
  146.       end_texture
  147.    end_object
  148.    composite Cradle_Ball translate <0.0 0.0 -4.0> end_composite
  149.    composite Cradle_Ball translate <0.0 0.0 -2.0> end_composite
  150.    composite Cradle_Ball end_composite
  151.    composite Cradle_Ball translate <0.0 0.0 2.0> end_composite
  152.    composite Cradle_Ball translate <0.0 0.0 4.0> end_composite
  153.    bounded_by
  154.       sphere <0 0 0> 9 end_sphere
  155.    end_bound
  156. end_composite
  157.  
  158. #declare Desk_Lamp = composite
  159.    composite
  160.       object
  161.          intersection
  162.             quadric
  163.                Cylinder_X
  164.             end_quadric
  165.             quadric
  166.                Cylinder_X
  167.                scale <1.0 0.9 0.9>
  168.                inverse
  169.             end_quadric
  170.             plane <1.0 0.0 0.0> 5 end_plane
  171.             plane <-1.0 0.0 0.0> 5 end_plane
  172.             plane <0.0 -1.0 0.0> 0.5 end_plane
  173.          end_intersection
  174.          texture
  175.             colour ForestGreen alpha 0.4
  176.             ambient 0.0
  177.             diffuse 0.0
  178.             reflection 0.5
  179.             refraction 0.85
  180.             ior 1.5
  181.             phong 0.3
  182.             phongsize 60
  183.             transmit 0.0
  184.          end_texture
  185.       end_object
  186.       object
  187.          union
  188.             intersection
  189.                quadric
  190.                   Cylinder_X
  191.                end_quadric
  192.                plane <1.0 0.0 0.0> -5 end_plane
  193.                plane <-1.0 0.0 0.0> 5.5 end_plane
  194.                plane <0.0 -1.0 0.0> 0.5 end_plane
  195.             end_intersection
  196.             intersection
  197.                quadric
  198.                   Cylinder_X
  199.                end_quadric
  200.                plane <1.0 0.0 0.0> 5.5 end_plane
  201.                plane <-1.0 0.0 0.0> -5 end_plane
  202.                plane <0.0 -1.0 0.0> 0.5 end_plane
  203.             end_intersection
  204.          end_union
  205.          texture
  206.             Metal_Brass
  207.          end_texture
  208.       end_object
  209.       object
  210.          intersection
  211.             quadric
  212.                Cylinder_X
  213.                scale <1.0 0.5 0.5>
  214.             end_quadric
  215.             plane <1.0 0.0 0.0> 5 end_plane
  216.             plane <-1.0 0.0 0.0> 5 end_plane
  217.          end_intersection
  218.          texture
  219.             colour White
  220.             ambient 1.0
  221.             diffuse 0.0
  222.          end_texture
  223.          light_source
  224.          colour White
  225.       end_object
  226.       rotate <30.0 0.0 0.0>
  227.    end_composite
  228.    object
  229.       union
  230.          intersection
  231.             union
  232.                quadric
  233.                   Cylinder_Z
  234.                   scale <0.25 0.25 1.0>
  235.                   translate <-5.25 0.0 0.0>
  236.                end_quadric
  237.                quadric
  238.                   Cylinder_Z
  239.                   scale <0.25 0.25 1.0>
  240.                   translate <5.25 0.0 0.0>
  241.                end_quadric
  242.             end_union
  243.             plane <0.0 0.0 -1.0> 0 end_plane
  244.             plane <0.0 0.0 1.0> 1.5 end_plane
  245.          end_intersection
  246.          intersection
  247.             quadric
  248.                Cylinder_X
  249.                scale <1.0 0.25 0.25>
  250.                translate <0.0 0.0 1.5>
  251.             end_quadric
  252.             plane < 1.0 0.0 0.0> 5.25 end_plane
  253.             plane <-1.0 0.0 0.0> 5.25 end_plane
  254.          end_intersection
  255.          sphere < 5.25 0.0 1.5> 0.25 end_sphere
  256.          sphere <-5.25 0.0 1.5> 0.25 end_sphere
  257.          intersection
  258.             quadric
  259.                Cylinder_Y
  260.                scale <0.25 1.0 0.25>
  261.                translate <0.0 0.0 1.5>
  262.             end_quadric
  263.             plane <0.0  1.0 0.0> 0.0 end_plane
  264.             plane <0.0 -1.0 0.0> 5.0 end_plane
  265.          end_intersection
  266.          intersection
  267.             quadric
  268.                Cylinder_Y
  269.                scale <3.0 1.0 1.5>
  270.                translate <0.0 0.0 1.0>
  271.             end_quadric
  272.             plane <0.0 1.0 0.0> -5.0 end_plane
  273.             plane <0.0 -1.0 0.0> 5.5 end_plane
  274.          end_intersection
  275.       end_union
  276.       texture
  277.          Metal_Brass
  278.       end_texture
  279.    end_object
  280.    bounded_by 
  281.       sphere <0.0 0.75 -2.25> 7 end_sphere
  282.    end_bound
  283. end_composite
  284.  
  285. #declare Tumbler = object
  286.    intersection
  287.       quadric
  288.          Cylinder_Y
  289.          scale <2.0 1.0 2.0>
  290.       end_quadric
  291.       union
  292.          quadric
  293.             Cylinder_Y
  294.             scale <1.9 1.0 1.9>
  295.             inverse
  296.          end_quadric
  297.          plane <0.0 1.0 0.0> 1 end_plane
  298.       end_union
  299.       plane <0.0 1.0 0.0> 5 end_plane
  300.       plane <0.0 -1.0 0.0> 0 end_plane
  301.    end_intersection
  302.    texture
  303.       wrinkles 0.8
  304.       colour red 1.0 green 1.0 blue 1.0 alpha 0.8
  305.       ambient 0.0
  306.       diffuse 0.0
  307.       reflection 0.5
  308.       refraction 0.85
  309.       ior 1.5
  310.       phong 0.3
  311.       phongsize 60
  312.       transmit 0.0
  313.    end_texture
  314. end_object
  315.  
  316. #declare Whiskey = colour red 0.6 green 0.46484375 blue 0.333333333 alpha 0.6
  317.  
  318. {#declare Whiskey_Tumbler = composite
  319.    object Tumbler end_object
  320.    object
  321.       intersection
  322.          quadric
  323.             Cylinder_Y
  324.             scale <1.9 0.0 1.9>
  325.          end_quadric
  326.          plane <0.0 1.0 0.0> 3 end_plane
  327.          plane <0.0 -1.0 0.0> -1 end_plane
  328.       end_intersection
  329.       texture
  330.          colour Whiskey 
  331.          ambient 0.0
  332.          diffuse 0.0
  333.          reflection 0.5
  334.          refraction 0.85
  335.          ior 1.35
  336.          phong 0.3
  337.          phongsize 60
  338.          transmit 0.0
  339.       end_texture
  340.    end_object
  341. end_composite}
  342.  
  343. #declare Decanter_Shape = intersection
  344.    plane < 1.0 0.0 0.0> 5  end_plane
  345.    plane <-1.0 0.0 0.0> 5  end_plane
  346.    plane <0.0  1.0 0.0> 2 end_plane
  347.    plane <0.0 -1.0 0.0> 10 end_plane
  348.    plane <0.0 0.0  1.0> 5  end_plane
  349.    plane <0.0 0.0 -1.0> 5  end_plane
  350.    union
  351.       quadric
  352.          Cylinder_X
  353.          scale <1.0 5.0 5.0>
  354.          translate <0.0 0.0 -5.0>
  355.       end_quadric
  356.       quadric
  357.          Cylinder_X
  358.          scale <1.0 5.0 5.0>
  359.          translate <0.0 0.0 5.0>
  360.       end_quadric
  361.       quadric
  362.          Cylinder_Z
  363.          scale <5.0 5.0 1.0>
  364.          translate <-5.0 0.0 0.0>
  365.       end_quadric
  366.       quadric
  367.          Cylinder_Z
  368.          scale <5.0 5.0 1.0>
  369.          translate <5.0 0.0 0.0>
  370.       end_quadric
  371.       inverse   
  372.    end_union
  373. end_intersection
  374.  
  375. #declare Full_Decanter = composite
  376.    object
  377.       difference
  378.          intersection Decanter_Shape end_intersection
  379.          intersection 
  380.             intersection
  381.                Decanter_Shape 
  382.                scale <0.9 1.0 0.9>
  383.             end_intersection
  384.             plane <0.0 -1.0 0.0> 9.8 end_plane
  385.          end_intersection
  386.       end_difference
  387.       texture
  388.          wrinkles 0.8
  389.          colour red 1.0 green 1.0 blue 1.0 alpha 0.8
  390.          ambient 0.0
  391.          diffuse 0.0
  392.          reflection 0.5
  393.          refraction 0.85
  394.          ior 1.5
  395.          phong 0.3
  396.          phongsize 60
  397.          transmit 0.0
  398.       end_texture
  399.       colour CBlue
  400.    end_object
  401.    object
  402.       intersection
  403.          plane < 1.0 0.0 0.0> 5  end_plane
  404.          plane <-1.0 0.0 0.0> 5  end_plane
  405.          plane <0.0  1.0 0.0> -2 end_plane
  406.          plane <0.0 -1.0 0.0> 9.8 end_plane
  407.          plane <0.0 0.0  1.0> 5  end_plane
  408.          plane <0.0 0.0 -1.0> 5  end_plane
  409.          intersection Decanter_Shape scale <0.9 1.0 0.9> end_intersection
  410.       end_intersection
  411.       texture
  412.          colour Whiskey alpha 0.6
  413.          ambient 0.0
  414.          diffuse 0.0
  415.          reflection 0.5
  416.          refraction 0.85
  417.          ior 1.359
  418.          phong 0.3
  419.          phongsize 60
  420.          transmit 0.0
  421.       end_texture
  422.    end_object
  423. end_composite
  424.  
  425. #declare Stopper = object
  426.    union
  427.       intersection
  428.          quadric
  429.             Cone_Y
  430.             scale <1.2 8.0 1.2>
  431.             translate <0.0 -4.0 0.0>
  432.          end_quadric
  433.          plane <0.0 1.0 0.0> 4 end_plane
  434.          plane <0.0 -1.0 0.0> -1 end_plane
  435.       end_intersection
  436.       intersection
  437.          quadric
  438.             Cylinder_Y
  439.             scale <0.6 1.0 0.6>
  440.          end_quadric
  441.          plane <0.0 1.0 0.0> 5.5 end_plane
  442.          plane <0.0 -1.0 0.0> -4 end_plane
  443.       end_intersection
  444.       sphere <0.0 6.0 0.0> 1.0 end_sphere
  445.    end_union
  446.    texture
  447.       wrinkles 0.8
  448.       colour red 1.0 green 1.0 blue 1.0 alpha 0.8
  449.       ambient 0.0
  450.       diffuse 0.0
  451.       reflection 0.5
  452.       refraction 0.85
  453.       ior 1.5
  454.       phong 0.3
  455.       phongsize 60
  456.       transmit 0.0      
  457.    end_texture
  458.    colour Magenta
  459.    translate <0.0 -3.0 0.0>
  460. end_object
  461.  
  462. #declare It = quadric QSphere scale <4.0 0.3 0.3> end_quadric
  463.  
  464. #declare  Twister = object
  465.   union
  466.     #include "<PVLib$Dir>.inc.twister"
  467.   end_union
  468.   bounded_by
  469.     sphere <0.0 5.0 0.0> 6.0  end_sphere
  470.   end_bound
  471.   texture
  472.     White_Wood
  473.     0.05
  474.     scale <3.0 3.0 3.0>
  475.     ambient 0.1
  476.     diffuse 0.99
  477.   end_texture
  478.   color CBlue
  479. end_object
  480.  
  481. #declare Paperweight = composite
  482.    object
  483.       intersection
  484.          sphere <0.0 0.0 0.0> 8 end_sphere
  485.          plane <0.0 -1.0 0.0> 2 end_plane
  486.       end_intersection
  487.       texture
  488.          colour red 1.0 green 1.0 blue 1.0 alpha 0.7
  489.          ambient 0.0
  490.          diffuse 0.0
  491.          reflection 0.5
  492.          refraction 0.85
  493.          ior 1.5
  494.          phong 0.3
  495.          phongsize 60
  496.          transmit 0.0
  497.       end_texture
  498.       colour CRed
  499.    end_object
  500.    object
  501.       Twister
  502.       translate <0.0 1.0 0.0>
  503.    end_object
  504.    bounded_by
  505.       sphere <0.0 0.0 0.0> 8 end_sphere
  506.    end_bound
  507. end_composite
  508.     
  509. #declare Picture = composite
  510.    object
  511.       intersection
  512.          plane < 1.0 0.0 0.0> 2 end_plane
  513.          plane <-1.0 0.0 0.0> 2 end_plane
  514.          plane <0.0  1.0 0.0> 2 end_plane
  515.          plane <0.0 -1.0 0.0> 2 end_plane
  516.          plane <0.0 0.0  1.0> 0.5 end_plane
  517.          plane <0.0 0.0 -1.0> 0 end_plane
  518.       end_intersection
  519.       texture
  520.          Cherry_Wood
  521.          scale <1 0.5 1.0>
  522.       end_texture
  523.       texture
  524.          imagemap 
  525.             <1.0 -1.0 0.0> 
  526.             acf "<PVLib$Dir>.Clear.NtReal"
  527.             interpolate 2.0 
  528.             once
  529.          end_map
  530.          reflection 0.5
  531.          scale <3.0 3.0 1.0>
  532.          translate <-1.5 -1.5 0.0>
  533.       end_texture
  534.    end_object
  535.    object
  536.       union
  537.          intersection
  538.             quadric
  539.                Cylinder_Y
  540.                scale <0.25 1.0 0.25>
  541.                translate <-1.75 0.0 0.0>
  542.             end_quadric
  543.             plane <0.0 0.0 1.0> 0 end_plane
  544.             plane <1.0 1.0 0.0> 0 end_plane
  545.             plane <1.0 -1.0 0.0> 0 end_plane
  546.          end_intersection
  547.          intersection
  548.             quadric
  549.                Cylinder_Y
  550.                scale <0.25 1.0 0.25>
  551.                translate <1.75 0.0 0.0>
  552.             end_quadric
  553.             plane <0.0 0.0 1.0> 0 end_plane
  554.             plane <-1.0 1.0 0.0> 0 end_plane
  555.             plane <-1.0 -1.0 0.0> 0 end_plane
  556.          end_intersection
  557.          intersection
  558.             quadric
  559.                Cylinder_X
  560.                scale <1.0 0.25 0.25>
  561.                translate <0.0 -1.75 0.0>
  562.             end_quadric
  563.             plane <0.0 0.0 1.0> 0 end_plane
  564.             plane <1.0 1.0 0.0> 0 end_plane
  565.             plane <-1.0 1.0 0.0> 0 end_plane
  566.          end_intersection
  567.          intersection
  568.             quadric
  569.                Cylinder_X
  570.                scale <1.0 0.25 0.25>
  571.                translate <0.0 1.75 0.0>
  572.             end_quadric
  573.             plane <0.0 0.0 1.0> 0 end_plane
  574.             plane <1.0 -1.0 0.0> 0 end_plane
  575.             plane <-1.0 -1.0 0.0> 0 end_plane
  576.          end_intersection
  577.       end_union
  578.       texture
  579.          Cherry_Wood
  580.          scale <1.0 0.5 0.5>
  581.       end_texture
  582.    end_object
  583.    bounded_by
  584.       intersection
  585.          plane < 1.0 0.0 0.0> 2 end_plane
  586.          plane <-1.0 0.0 0.0> 2 end_plane
  587.          plane <0.0  1.0 0.0> 2 end_plane
  588.          plane <0.0 -1.0 0.0> 2 end_plane
  589.          plane <0.0 0.0  1.0> 1 end_plane
  590.          plane <0.0 0.0 -1.0> 0 end_plane
  591.       end_intersection
  592.    end_bound   
  593. end_composite
  594.  
  595. #declare Work = object
  596.    intersection
  597.       plane < 1.0 0.0 0.0> 2 end_plane
  598.       plane <-1.0 0.0 0.0> 2 end_plane
  599.       plane <0.0  1.0 0.0> 0.01 end_plane
  600.       plane <0.0 -1.0 0.0> 0 end_plane
  601.       plane <0.0 0.0  1.0> 2 end_plane
  602.       plane <0.0 0.0 -1.0> 2 end_plane
  603.    end_intersection
  604.    texture
  605. {      imagemap 
  606.          <1.0 0.0 -1.0> 
  607.          acf "<PVLib$Dir>.Clear.RomanB" 
  608.          interpolate 2.0 
  609.          once
  610.       end_map
  611.       scale <4.0 1.0 4.0>}
  612.       colour LightSteelBlue
  613.    end_texture
  614. end_object
  615.  
  616. #declare TableTop = composite
  617.    object
  618.       difference
  619.          intersection
  620.             plane < 1.0 0.0 0.0> 40 end_plane
  621.             plane <-1.0 0.0 0.0> 40 end_plane
  622.             plane <0.0  1.0 0.0> 0 end_plane
  623.             plane <0.0 -1.0 0.0> 5 end_plane
  624.             plane <0.0 0.0  1.0> 20 end_plane
  625.             plane <0.0 0.0 -1.0> 20 end_plane
  626.          end_intersection
  627.          intersection
  628.             plane < 1.0 0.0 0.0> 35 end_plane
  629.             plane <-1.0 0.0 0.0> 35 end_plane
  630.             plane <0.0  1.0 0.0> 0 end_plane
  631.             plane <0.0 -1.0 0.0> 3 end_plane
  632.             plane <0.0 0.0  1.0> 15 end_plane
  633.             plane <0.0 0.0 -1.0> 15 end_plane
  634.          end_intersection
  635.       end_difference
  636.       texture
  637.          Tom_Wood
  638.          reflection 0.8
  639.          specular 0.7
  640.          roughness 0.006
  641.          scale <10.0 5.0 5.0>
  642.       end_texture
  643.       colour CGreen
  644.    end_object
  645.    object
  646.       difference
  647.          intersection
  648.             plane < 1.0 0.0 0.0> 35 end_plane
  649.             plane <-1.0 0.0 0.0> 35 end_plane
  650.             plane <0.0  1.0 0.0> 0 end_plane
  651.             plane <0.0 -1.0 0.0> 3 end_plane
  652.             plane <0.0 0.0  1.0> 15 end_plane
  653.             plane <0.0 0.0 -1.0> 15 end_plane
  654.          end_intersection
  655.          intersection
  656.             plane < 1.0 0.0 0.0> 34 end_plane
  657.             plane <-1.0 0.0 0.0> 34 end_plane
  658.             plane <0.0  1.0 0.0> 0 end_plane
  659.             plane <0.0 -1.0 0.0> 3 end_plane
  660.             plane <0.0 0.0  1.0> 14 end_plane
  661.             plane <0.0 0.0 -1.0> 14 end_plane
  662.          end_intersection
  663.       end_difference
  664.       texture
  665.          Metal_Gold
  666.       end_texture
  667.       colour Yellow
  668.    end_object
  669.    object
  670.       intersection
  671.          plane < 1.0 0.0 0.0> 34 end_plane
  672.          plane <-1.0 0.0 0.0> 34 end_plane
  673.          plane <0.0  1.0 0.0> -1 end_plane
  674.          plane <0.0 -1.0 0.0> 3 end_plane
  675.          plane <0.0 0.0  1.0> 14 end_plane
  676.          plane <0.0 0.0 -1.0> 14 end_plane
  677.       end_intersection
  678.       texture
  679.          Blood_Marble
  680.          reflection 0.8
  681.          specular 0.7
  682.          roughness 0.006
  683.       end_texture
  684.       colour CRed
  685.    end_object
  686.    object
  687.       intersection
  688.          plane < 1.0 0.0 0.0> 34 end_plane
  689.          plane <-1.0 0.0 0.0> 34 end_plane
  690.          plane <0.0  1.0 0.0> 0 end_plane
  691.          plane <0.0 -1.0 0.0> 1 end_plane
  692.          plane <0.0 0.0  1.0> 14 end_plane
  693.          plane <0.0 0.0 -1.0> 14 end_plane
  694.       end_intersection
  695.       texture
  696.          colour red 1.0 green 1.0 blue 1.0 alpha 0.7
  697.          ambient 0.0
  698.          diffuse 0.0
  699.          reflection 0.5
  700.          refraction 0.8
  701.          ior 1.5
  702.          phong 0.3
  703.          phongsize 60
  704.          transmit 0.0
  705.       end_texture
  706.    end_object
  707.    bounded_by
  708.       intersection
  709.          plane < 1.0 0.0 0.0> 40 end_plane
  710.          plane <-1.0 0.0 0.0> 40 end_plane
  711.          plane <0.0  1.0 0.0> 0 end_plane
  712.          plane <0.0 -1.0 0.0> 5 end_plane
  713.          plane <0.0 0.0  1.0> 20 end_plane
  714.          plane <0.0 0.0 -1.0> 20 end_plane
  715.       end_intersection
  716.    end_bound
  717. end_composite
  718.                                            
  719. #declare Complete_Desk = composite
  720.    composite
  721.       TableTop
  722.    end_composite
  723.    composite
  724.       Newtons_Cradle
  725.       scale <0.5 0.5 0.5>
  726.       rotate <0.0 30.0 0.0>
  727.       translate <32.0 2.5 12.0>
  728.    end_composite
  729.    composite
  730.       Desk_Lamp
  731.       scale <2 2 2>
  732.       rotate <0.0 -40 0.0>
  733.       translate <-26 11 8>
  734.    end_composite
  735. {   object
  736.       Tumbler
  737.       rotate <0.0 45.0 0.0>
  738.       translate <0.0 15.0 0.0>
  739.    end_object}             
  740.    composite
  741.       Full_Decanter
  742.       rotate <0.0 5.0 0.0>
  743.       translate <6.0 10.0 10.0>
  744.    end_composite
  745.    object
  746.       Stopper
  747.       rotate <90.0 125.0 1.0>
  748.       translate <5 1 5>
  749.    end_object
  750.    object
  751.       Work
  752.       scale <4.0 1.0 4.0>
  753.       rotate <0.0 -15.0 0.0>
  754.       translate <-10.0 0.0 -10.0>
  755.    end_object
  756.    composite
  757.       Paperweight
  758.       scale <0.5 0.5 0.5>
  759.       translate <-12.0 1 -2.0>
  760.    end_composite
  761. {   composite
  762.       Whiskey_Tumbler
  763.       translate <-4.2 0.0 -16.3>
  764.    end_composite}
  765.    composite
  766.       Picture
  767.       scale <4.0 4.0 1.0>
  768.       rotate <15.0 45.0 0.0>
  769.       translate <10 7.7 -5.0>
  770.    end_composite
  771. end_composite
  772.  
  773. // Now to assemble the scene
  774. // The circuit's will never take it skipper.
  775.  
  776. // Outside
  777.    
  778. object
  779.    sphere <0.0 -10000.0 -200.0> 15000.0 end_sphere
  780.    texture
  781.       onion
  782.       colour_map [0.0 0.6  colour red 1.0 green 0.6 blue 0.0
  783.                            colour red 0.3 green 0.6 blue 0.6]
  784.                  [0.6 1.0 colour red 0.3 green 0.6 blue 0.6
  785.                           colour red 0.1 green 0.4 blue 0.6]
  786.       end_colour_map
  787.       scale <7500.0 1000.0 5000.0>
  788.       ambient 0.7
  789.       diffuse 0.0
  790.    end_texture
  791.    colour red 0.5 green 0.5 blue 1.0
  792. end_object
  793.  
  794. object
  795.    plane <0.0 1.0 0.0> 1500.0 end_plane
  796.    texture
  797.       bozo
  798.       turbulence 0.5
  799.       colour_map
  800.           [0.0 0.6  colour red 1.0 green 1.0 blue 1.0 alpha 1.0
  801.                     colour red 1.0 green 1.0 blue 1.0 alpha 1.0]
  802.           [0.6 0.8 colour red 1.0 green 1.0 blue 1.0 alpha 1.0
  803.                     colour red 1.0 green 0.8 blue 0.1]
  804.           [0.8 1.001 colour red 1.0 green 0.8 blue 0.1
  805.                      colour red 0.8 green 0.4 blue 0.2]
  806.       end_colour_map
  807.       scale <1000.0  200.0  800.0>
  808.       ambient 0.7
  809.       diffuse 0.0
  810.    end_texture
  811.    translate <-500.0 0.0 0.0>
  812.    rotate <6.0 0.0 0.0>
  813.    colour red 0.7 green 0.7 blue 1.0
  814. end_object
  815.  
  816. object
  817.    plane <0.0 1.0 0.0> -20 end_plane
  818.    texture
  819.       colour Aquamarine
  820.       waves 0.06
  821.       frequency 5000.0
  822.       reflection 0.8
  823.       ambient 0.1
  824.       diffuse 0.1
  825.       scale <1000.0 1000.0 1000.0>
  826.    end_texture
  827.    colour CBlue
  828. end_object
  829.  
  830. object
  831.    plane <0.0 1.0 0.0> -21.0 end_plane
  832.    texture
  833.       colour red 1.0 green 0.6
  834.       ambient 0.8
  835.       diffuse 0.0
  836.    end_texture
  837.    colour red 1.0 green 0.6
  838. end_object
  839.  
  840. // Wall's
  841.      
  842. object
  843.    union
  844.       intersection
  845.          Cube
  846.          scale <60.0 30.0 1.0>
  847.          translate <0.0 0.0 40.0>
  848.       end_intersection
  849.       intersection
  850.          Cube
  851.          scale <1.0 30.0 40.0>
  852.          translate <-60.0 0.0 0.0>
  853.       end_intersection              
  854.       intersection
  855.          Cube
  856.          scale <60.0 30.0 1.0>
  857.          translate <0.0 0.0 -40.0>
  858.       end_intersection
  859.       intersection
  860.          intersection
  861.             Cube
  862.             scale <1.0 30.0 40.0>
  863.             translate <-60.0 0.0 0.0>
  864.          end_intersection
  865.          intersection
  866.             Cube
  867.             scale <1.0 10.0 15.0>
  868.             translate <-60.0 10.0 0.0>
  869.             inverse
  870.          end_intersection
  871.       end_intersection
  872.    end_union
  873.    texture
  874.       0.05
  875.       Dull
  876.       colour PaleGreen
  877.    end_texture
  878.    bounded_by
  879.       intersection
  880.          Cube
  881.          scale <60.0 30.0 40.0>
  882.       end_intersection
  883.    end_bound
  884. end_object
  885.  
  886. // Ceiling
  887.    
  888. object
  889.    intersection
  890.       Cube
  891.       scale <60.0 1.0 40.0>
  892.       translate <0.0 30.0 0.0>
  893.    end_intersection
  894.    texture
  895.       0.05
  896.       Dull
  897.       colour LightSteelBlue
  898.    end_texture
  899. end_object
  900.  
  901. // Floor
  902.  
  903. object
  904.    intersection
  905.       Cube
  906.       scale <60.0 1.0 40.0>
  907.       translate <0.0 -30.0 0.0>
  908.    end_intersection
  909.    texture
  910.       0.05
  911.       Tan_Wood
  912.       scale <20.0 10.0 15.0>
  913.    end_texture
  914. end_object
  915.  
  916. // The Desk
  917.  
  918. composite
  919.    Complete_Desk
  920.    translate <-20 -10 20>
  921. end_composite
  922.  
  923. // Another light source
  924.  
  925. object
  926.    sphere <0 0 0> 1 end_sphere
  927.    texture
  928.       colour White
  929.       ambient 1.0
  930.       diffuse 0.0
  931.    end_texture
  932.    light_source
  933.    colour White
  934.    translate <0 28 0>
  935. end_object
  936.  
  937.  
  938.  
  939.