home *** CD-ROM | disk | FTP | other *** search
/ Chestnut's Multimedia Mania / MM_MANIA.ISO / graphics / povscn20 / oak2.pov < prev    next >
Text File  |  1993-09-27  |  5KB  |  190 lines

  1. // Persistence Of Vision Raytracer version 2.0 sample file.
  2.  
  3. // Scene file by Dan Farmer    November, 1991
  4. //
  5. // note: To properly process on a pc, the resultant .gif file should
  6. // be modified with piclab: brighten 20 contrast 45, gamma 0.6, transform
  7. //
  8. // Many of the declarations here are not the same as in the #include files!
  9. //=========================================================================
  10. #include "colors.inc"
  11. #include "shapes.inc"
  12. #include "textures.inc"
  13.  
  14. #declare BlueViolet     = color red 0.38 green 0.39 blue 0.58 // tce designed color
  15. #declare DarkPurple     = color red 0.53 green 0.12 blue 0.47
  16. #declare CoolCopper     = color red 0.85 green 0.53 blue 0.10
  17. #declare LightWood      = color red 0.91 green 0.76 blue 0.65
  18. #declare MediumWood     = color red 0.65 green 0.50 blue 0.39
  19. #declare DarkWood       = color red 0.52 green 0.37 blue 0.26
  20. #declare SemiSweetChoc  = color red 0.42 green 0.26 blue 0.15
  21. #declare BakersChoc     = color red 0.36 green 0.20 blue 0.09
  22. #declare VeryDarkBrown  = color red 0.35 green 0.00 blue 0.14
  23.  
  24. // a unit sphere is one with radius of 1.0.
  25. // This shape is equivilent in size to a unit sphere {
  26. // and will scale evenly in all directions.
  27.  
  28. #declare Torus = torus { 1.0, 0.25 }
  29.  
  30. #declare LeftTopElbow = object {
  31.    Torus
  32.    rotate 90*x
  33.  
  34.    clipped_by {
  35.       plane { x, 0 }
  36.       plane { -y, 0 }
  37.    }
  38.    texture { Copper_Texture pigment { quick_color Red } }
  39. }
  40.  
  41. #declare RightTopElbow = object {
  42.    Torus
  43.    rotate 90*x
  44.  
  45.    clipped_by {
  46.       plane { -x, 0 }
  47.       plane { -y, 0 }
  48.    }
  49.    texture { Copper_Texture pigment { quick_color Red } }
  50. }
  51.  
  52. #declare XTube = cylinder {
  53.    -x, x, 1
  54.    texture { Copper_Texture pigment { quick_color Red } }
  55. }
  56.  
  57. #declare YTube = cylinder {
  58.    -y, y, 1
  59.    texture { Copper_Texture pigment { quick_color Red } }
  60. }
  61.  
  62. camera {
  63.    location <20, 15, -35>
  64.    direction <0, 0, 1.2>
  65.    up  <0, 1, 0>
  66.    right <4/3, 0, 0>
  67.    look_at <1.5, 5, 0>
  68. }
  69.  
  70. #declare Light = color red 0.75 green 0.75 blue 0.75
  71.  
  72. light_source { <-30, 500, -1.0> colour Light }
  73.  
  74. light_source { <-5, 30, -50> colour Light }
  75.  
  76. /* floor */
  77. plane {
  78.    y, -6
  79.  
  80.    pigment {
  81.       granite
  82.       color_map { [0.0 1.01 color BlueViolet color DarkPurple] }
  83.       quick_color White
  84.    }
  85.    finish {
  86.       reflection 0.15
  87.       ambient 0.075  diffuse 0.5
  88.    }
  89. }
  90.  
  91. #declare Oak =  pigment {
  92.    wood
  93.    turbulence 0.05
  94.    colour_map {
  95.       [0.00 0.10 color SemiSweetChoc color SemiSweetChoc]
  96.       [0.10 0.90 color SemiSweetChoc color DarkWood]
  97.       [0.90 1.01  color DarkWood  color DarkWood ]
  98.    }
  99. }
  100.  
  101. #declare WoodSphere = sphere {
  102.    <0, 0, 0>, 10
  103.  
  104.    texture {
  105.       pigment {
  106.          Oak
  107.          scale <0.5, 0.5, 1.0>
  108.          translate <0.25, 0.05, 0.5>
  109.          rotate <0, 0, 0.5>
  110.          quick_color White
  111.       }
  112.       finish {
  113.          Shiny
  114.          reflection 0.12
  115.          ambient 0.075
  116.          diffuse 0.7
  117.       }
  118.    }
  119.  
  120.    texture {
  121.       finish {
  122.          Shiny
  123.          ambient 0.075 diffuse 0.7
  124.       }
  125.       pigment { Clear }
  126.    }
  127. }
  128.  
  129. #declare Chamfer = union {
  130.    object { Disk_X scale <12.5, 0.65, 0.65> translate <0, 0, -12> }
  131.    object { Disk_X scale <12.5, 0.65, 0.65> translate <0, 0, 12>  }
  132.    object { Disk_Z scale <0.65, 0.65, 12.5> translate <-12, 0, 0> }
  133.    object { Disk_Z scale <0.65, 0.65, 12.5> translate <12, 0, 0> }
  134. }
  135.  
  136. #declare BrassBall = sphere {
  137.    <0, 0, 0>, 1.5
  138.    texture { Brass_Texture pigment { quick_color Red } }
  139. }
  140.  
  141. #declare Railing = union {
  142.    object { LeftTopElbow  translate <-8, 0, 0> }
  143.    object { RightTopElbow translate <+8, 0, 0> }
  144.    object { XTube  scale <8.0, 0.25, 0.25>  translate <0, 1, 0>  }
  145.    object { YTube  scale <0.25, 2, 0.25>    translate <+9, -2, 0> }
  146.    object { YTube  scale <0.25, 2, 0.25>    translate <-9, -2, 0> }
  147. }
  148.  
  149. #declare Base = difference {
  150.    object { Cube scale <12, 2, 12> }
  151.    object { Chamfer translate <0, 2, 0> }
  152.  
  153.    texture {
  154.       pigment {
  155.          Oak
  156.          scale <0.45, 0.45, 0.7>
  157.          rotate <0.20, 0.10, 0.05>
  158.          translate <0, -1, 0>
  159.          quick_color Red
  160.       }
  161.       finish {
  162.          Shiny
  163.          reflection 0.15
  164.          ambient 0.075 diffuse 0.7
  165.       }
  166.    }
  167.  
  168.    texture {
  169.       finish {
  170.          Shiny
  171.          ambient 0.075 diffuse 0.7
  172.       }
  173.       pigment { Clear }
  174.    }
  175.    translate <0, -1, 0>
  176. }
  177.  
  178. union {
  179.    object { WoodSphere  translate <0, 9.5, 0> }
  180.    object { Base }
  181.    object { BrassBall translate < 10, -4.5,  10> }
  182.    object { BrassBall translate < 10, -4.5, -10> }
  183.    object { BrassBall translate <-10, -4.5,  10> }
  184.    object { BrassBall translate <-10, -4.5, -10> }
  185.    object { Railing translate <0, 3, 10> }
  186.    object { Railing translate <0, 3, -10> }
  187.    object { Railing rotate 90*y translate < 10, 3, 0> }
  188.    object { Railing rotate 90*y translate <-10, 3, 0> }
  189. }
  190.