home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 May / PCWorld_2000-05_cd.bin / Software / TemaCD / povray / povwin3.exe / %MAINDIR% / scenes / objects / pawns.pov < prev    next >
Encoding:
Text File  |  2000-04-06  |  12.6 KB  |  416 lines

  1. // Persistence Of Vision raytracer version 3.1 sample file.
  2. // "Pawns", a study in wood... three pawns on a chessboard
  3. // File by Douglas Otwell
  4.  
  5. global_settings { assumed_gamma 1.8 }
  6.  
  7. #include "colors.inc"
  8. #include "shapes.inc"
  9. #include "textures.inc"
  10.  
  11. //
  12. //   Yellow pine, close grained
  13. //
  14. #declare Yellow_Pine = texture {
  15.    pigment {
  16.       wood
  17.       turbulence 0.02
  18.       color_map {
  19.          [0.000, 0.222  color red  0.808  green  0.671  blue  0.251  filter  0.000
  20.                         color red  0.808  green  0.671  blue  0.251  filter  0.000]
  21.          [0.222, 0.342  color red  0.808  green  0.671  blue  0.251  filter  0.000
  22.                         color red  0.600  green  0.349  blue  0.043  filter  0.000]
  23.          [0.342, 0.393  color red  0.600  green  0.349  blue  0.043  filter  0.000
  24.                         color red  0.808  green  0.671  blue  0.251  filter  0.000]
  25.          [0.393, 0.709  color red  0.808  green  0.671  blue  0.251  filter  0.000
  26.                         color red  0.808  green  0.671  blue  0.251  filter  0.000]
  27.          [0.709, 0.821  color red  0.808  green  0.671  blue  0.251  filter  0.000
  28.                         color red  0.533  green  0.298  blue  0.027  filter  0.000]
  29.          [0.821, 1      color red  0.533  green  0.298  blue  0.027  filter  0.000
  30.                         color red  0.808  green  0.671  blue  0.251  filter  0.000]
  31.       }
  32.       scale 0.1
  33.       translate 10*x
  34.    }
  35. }
  36.  
  37. // Yellow_Pine layer 2
  38. texture {
  39.    pigment {
  40.       wood
  41.       turbulence 0.01
  42.       color_map {
  43.          [0.000, 0.120   color red  1.000  green  1.000  blue  1.000  filter  1.000
  44.                          color red  0.702  green  0.412  blue  0.118  filter  0.608]
  45.          [0.120, 0.231   color red  0.702  green  0.412  blue  0.118  filter  0.608
  46.                          color red  0.702  green  0.467  blue  0.118  filter  0.608]
  47.          [0.231, 0.496   color red  0.702  green  0.467  blue  0.118  filter  0.608
  48.                          color red  1.000  green  1.000  blue  1.000  filter  1.000]
  49.          [0.496, 0.701   color red  1.000  green  1.000  blue  1.000  filter  1.000
  50.                          color red  1.000  green  1.000  blue  1.000  filter  1.000]
  51.          [0.701, 0.829   color red  1.000  green  1.000  blue  1.000  filter  1.000
  52.                          color red  0.702  green  0.467  blue  0.118  filter  0.608]
  53.          [0.829, 1       color red  0.702  green  0.467  blue  0.118  filter  0.608
  54.                          color red  1.000  green  1.000  blue  1.000  filter  1.000]
  55.       }
  56.       scale 0.5 
  57.       translate 10*x
  58.    }
  59. }
  60.  
  61. //
  62. //   Rosewood
  63. //
  64. #declare Rosewood = texture {
  65.    pigment {
  66.       bozo
  67.       turbulence 0.04
  68.       color_map {
  69.          [0.000, 0.256   color red  0.204  green  0.110  blue  0.078  filter  0.000
  70.                          color red  0.231  green  0.125  blue  0.090  filter  0.000]
  71.          [0.256, 0.393   color red  0.231  green  0.125  blue  0.090  filter  0.000
  72.                          color red  0.247  green  0.133  blue  0.090  filter  0.000]
  73.          [0.393, 0.581   color red  0.247  green  0.133  blue  0.090  filter  0.000
  74.                          color red  0.204  green  0.110  blue  0.075  filter  0.000]
  75.          [0.581, 0.726   color red  0.204  green  0.110  blue  0.075  filter  0.000
  76.                          color red  0.259  green  0.122  blue  0.102  filter  0.000]
  77.          [0.726, 0.983   color red  0.259  green  0.122  blue  0.102  filter  0.000
  78.                          color red  0.231  green  0.125  blue  0.086  filter  0.000]
  79.          [0.983, 1       color red  0.231  green  0.125  blue  0.086  filter  0.000
  80.                          color red  0.204  green  0.110  blue  0.078  filter  0.000]
  81.       }
  82.       scale <0.5, 0.5, 1>
  83.       translate 10*x
  84.    }
  85.    finish {
  86.       ambient 0.5
  87.       diffuse 0.8
  88.    }
  89. }
  90.  
  91. // Rosewood layer 2
  92. texture {
  93.    pigment {
  94.       wood
  95.       turbulence 0.04
  96.       color_map {
  97.          [0.000, 0.139   color red  0.545  green  0.349  blue  0.247  filter  1.000
  98.                          color red  0.000  green  0.000  blue  0.000  filter  0.004]
  99.          [0.139, 0.148   color red  0.000  green  0.000  blue  0.000  filter  0.004
  100.                          color red  0.000  green  0.000  blue  0.000  filter  0.004]
  101.          [0.148, 0.287   color red  0.000  green  0.000  blue  0.000  filter  0.004
  102.                          color red  0.545  green  0.349  blue  0.247  filter  1.000]
  103.          [0.287, 0.443   color red  0.545  green  0.349  blue  0.247  filter  1.000
  104.                          color red  0.545  green  0.349  blue  0.247  filter  1.000]
  105.          [0.443, 0.626   color red  0.545  green  0.349  blue  0.247  filter  1.000
  106.                          color red  0.000  green  0.000  blue  0.000  filter  0.004]
  107.          [0.626, 0.635   color red  0.000  green  0.000  blue  0.000  filter  0.004
  108.                          color red  0.000  green  0.000  blue  0.000  filter  0.004]
  109.          [0.635, 0.843   color red  0.000  green  0.000  blue  0.000  filter  0.004
  110.                          color red  0.545  green  0.349  blue  0.247  filter  1.000]
  111.          [0.843, 1       color red  0.545  green  0.349  blue  0.247  filter  1.000
  112.                          color red  0.545  green  0.349  blue  0.247  filter  1.000]
  113.       }
  114.       scale <0.5, 0.5, 1>
  115.       translate <10, 0, 0>
  116.    }
  117.    finish {
  118.       ambient 0.5
  119.       diffuse 0.8
  120.    }
  121. }
  122.  
  123. //
  124. //   Sandalwood ( makes a great burled maple, too)
  125. //
  126. #declare Sandalwood = texture {
  127.    pigment {
  128.       bozo
  129.       turbulence 0.2
  130.       color_map {
  131.          [0.000, 0.171   color red  0.725  green  0.659  blue  0.455  filter  0.000
  132.                          color red  0.682  green  0.549  blue  0.420  filter  0.000]
  133.          [0.171, 0.274   color red  0.682  green  0.549  blue  0.420  filter  0.000
  134.                          color red  0.557  green  0.451  blue  0.322  filter  0.000]
  135.          [0.274, 0.393   color red  0.557  green  0.451  blue  0.322  filter  0.000
  136.                          color red  0.725  green  0.659  blue  0.455  filter  0.000]
  137.          [0.393, 0.564   color red  0.725  green  0.659  blue  0.455  filter  0.000
  138.                          color red  0.682  green  0.549  blue  0.420  filter  0.000]
  139.          [0.564, 0.701   color red  0.682  green  0.549  blue  0.420  filter  0.000
  140.                          color red  0.482  green  0.392  blue  0.278  filter  0.000]
  141.          [0.701, 1       color red  0.482  green  0.392  blue  0.278  filter  0.000
  142.                          color red  0.725  green  0.659  blue  0.455  filter  0.000]
  143.       }
  144.       scale <0.2, 0.2, 1>
  145.       scale 2
  146.    }
  147. }
  148. // Sandalwood layer 2
  149. texture {
  150.    pigment {
  151.       bozo
  152.       turbulence 0.8
  153.       color_map {
  154.          [0.000, 0.087   color red  0.682  green  0.604  blue  0.380  filter  1.000
  155.                          color red  0.761  green  0.694  blue  0.600  filter  0.020]
  156.          [0.087, 0.226   color red  0.761  green  0.694  blue  0.600  filter  0.020
  157.                          color red  0.635  green  0.553  blue  0.325  filter  1.000]
  158.          [0.226, 0.348   color red  0.635  green  0.553  blue  0.325  filter  1.000
  159.                          color red  0.761  green  0.694  blue  0.600  filter  0.020]
  160.          [0.348, 0.496   color red  0.761  green  0.694  blue  0.600  filter  0.020
  161.                          color red  0.682  green  0.604  blue  0.380  filter  1.000]
  162.          [0.496, 0.565   color red  0.682  green  0.604  blue  0.380  filter  1.000
  163.                          color red  0.761  green  0.694  blue  0.600  filter  0.020]
  164.          [0.565, 0.661   color red  0.761  green  0.694  blue  0.600  filter  0.020
  165.                          color red  0.682  green  0.604  blue  0.380  filter  1.000]
  166.          [0.661, 0.835   color red  0.682  green  0.604  blue  0.380  filter  1.000
  167.                          color red  0.761  green  0.694  blue  0.600  filter  0.020]
  168.          [0.835, 1       color red  0.761  green  0.694  blue  0.600  filter  0.020
  169.                          color red  0.682  green  0.604  blue  0.380  filter  1.000]
  170.       }
  171.       scale 0.2
  172.       scale 2
  173.    }
  174. }
  175.  
  176. //
  177. //   Lights, Camera ...
  178. //
  179. camera {
  180.    location  <-8.0, 4.0, -14.0>
  181.    direction <0.0, 0.0, 2.0>
  182.    up        <0.0, 1.0, 0.0>
  183.    right     <4/3, 0.0, 0.0>
  184.    look_at   <-2.0, 0.0, -4.0>
  185. }
  186.  
  187. light_source { <100.0, 400.0, -600.0> color White }
  188.  
  189. //   a back-light to create a highlight on the board
  190. light_source { <12.0, 4.0, 12.0> color White }
  191.  
  192. //  We'll build our chessboard out of one big pine block and 32
  193. // little rosewood ones
  194. #declare Fours = union {
  195.    object { UnitBox
  196.       texture {
  197.          Rosewood
  198.          finish {
  199.             phong 0.3
  200.             ambient 0.5
  201.             diffuse 0.7
  202.             reflection 0.3
  203.          }
  204.       }
  205.       translate <-1, -1, 1>
  206.    }
  207.  
  208.    object { UnitBox
  209.       texture {
  210.          Rosewood
  211.          finish {
  212.             phong 0.3 
  213.             ambient 0.5
  214.             diffuse 0.7
  215.             reflection 0.3
  216.          }
  217.       }
  218.       translate <1, -1, -1>
  219.    }
  220.  
  221.   
  222. }
  223.  
  224. #declare Eights = union {
  225.    object { Fours
  226.       translate <-2, 0, 2>
  227.    }
  228.    object { Fours
  229.       translate <2, 0, 2>
  230.    }
  231.    object { Fours
  232.       translate <-2, 0, -2>
  233.    }
  234.    object { Fours
  235.       translate <2, 0, -2>
  236.    }
  237.  
  238.  }
  239.  
  240. //   Add another wood texture around the edges
  241. #declare rail = intersection {
  242.    object { UnitBox
  243.       scale <10, 0.25, 1>
  244.    }               
  245.  
  246.    plane { -x, 0 
  247.       rotate 45*y
  248.       translate -9*x
  249.    }
  250.  
  251.    plane { x, 0
  252.       rotate -45*y
  253.       translate 9*x
  254.    }
  255.  
  256.    translate <0, -0.25, -9>
  257.  
  258.    texture {
  259.       Sandalwood
  260.       finish { phong 0.4 }
  261.    }
  262. }
  263.  
  264. //
  265. //   Chessboard
  266. //
  267. #declare Chessboard = union {
  268.    object { Eights
  269.       translate <-4, 0, 4>
  270.    }
  271.    object { Eights
  272.       translate <4, 0, 4>
  273.    }
  274.    object { Eights
  275.       translate <-4, 0, -4>
  276.    }
  277.    object { Eights
  278.       translate <4, 0, -4>
  279.    }
  280.  
  281.    object { UnitBox
  282.       scale <8, 0.25, 8>
  283.       translate -0.25*y
  284.    }               
  285.  
  286.    object { rail rotate 0*y }
  287.    object { rail rotate 90*y }
  288.    object { rail rotate 180*y }
  289.    object { rail rotate 270*y }
  290.  
  291.    texture {
  292.       Yellow_Pine
  293.       finish {
  294.          phong 0.5
  295.          reflection 0.3
  296.       }
  297.       scale 2
  298.    }
  299.  
  300.   
  301. }
  302.  
  303. //
  304. //   Pawn
  305. //
  306. #declare pawn = union {
  307.    difference {
  308.       object { Disk_Y scale <8, 12.7468, 8> }
  309.       quartic {
  310.          < 1.0,  0.0,  0.0,   0.0,    2.0,  0.0,  0.0,  2.0,  0.0,-738.0,
  311.          0.0,  0.0,  0.0,   0.0,    0.0,  0.0,  0.0,  0.0,  0.0,   0.0,
  312.          1.0,  0.0,  0.0,   2.0,    0.0, 162.0,  0.0,  0.0,  0.0,   0.0,
  313.          1.0,   0.0, -738.0,   0.0,   6561.0>
  314.          sturm
  315.       }
  316.    }
  317.  
  318.    quartic {
  319.       < 1.0,  0.0,  0.0,   0.0,    2.0,  0.0,  0.0,  2.0,  0.0, -132.5,
  320.       0.0,  0.0,  0.0,   0.0,    0.0,  0.0,  0.0,  0.0,  0.0,   0.0,
  321.       1.0,  0.0,  0.0,   2.0,    0.0, 123.5,  0.0,  0.0,  0.0,   0.0,
  322.       1.0,  0.0, -132.5,  0.0,  3813.0625 >
  323.       sturm
  324.       translate -11.2468*y
  325.    }
  326.  
  327.    quartic {
  328.       < 1.0,  0.0,  0.0,   0.0,    2.0,  0.0,  0.0,  2.0,  0.0, -132.5,
  329.       0.0,  0.0,  0.0,   0.0,    0.0,  0.0,  0.0,  0.0,  0.0,   0.0,
  330.       1.0,  0.0,  0.0,   2.0,    0.0, 123.5,  0.0,  0.0,  0.0,   0.0,
  331.       1.0,  0.0, -132.5,  0.0,  3813.0625>
  332.       sturm
  333.       translate 11.2468*y
  334.    }
  335.  
  336.    //   Base
  337.    intersection {
  338.       object { Disk_Y
  339.          scale <12, 3, 12>
  340.          translate -15.7468*y
  341.       }
  342.       object { QCone_Y
  343.          translate -2*y
  344.       }
  345.    }
  346.  
  347.    //   Ball on top
  348.    sphere { <0, 17.7468, 0>, 7 }
  349.  
  350.    bounded_by { object { Disk_Y scale <14, 26, 14> } }
  351.  
  352.    translate 18.7468*y
  353.    scale 0.06
  354. }
  355.  
  356.  
  357. //   Now let's put the pieces together
  358.  
  359. object { Chessboard }
  360.  
  361. //   Pawn 1
  362. object { pawn
  363.    texture {
  364.       Yellow_Pine
  365.       finish { phong 0.8 }
  366.    }
  367.  
  368.    rotate 60*y
  369.    translate <-5, 0, -7>
  370. }
  371.  
  372. //   Pawn 2
  373. object { pawn
  374.    texture {
  375.       Yellow_Pine
  376.       finish { phong 0.8 }
  377.    }
  378.  
  379.    rotate 30*y
  380.    translate <1, 0, -1>
  381. }
  382.  
  383. //   Pawn 3
  384. object { pawn 
  385.    texture {
  386.       Rosewood
  387.       finish {
  388.          phong 1.0
  389.          ambient 0.5
  390.          diffuse 0.7
  391.       }
  392.    }
  393.  
  394.    rotate 30*y
  395.    translate <0.72, -0.24, 0>
  396.    rotate 96.2052*z
  397.    translate <1, 0, -5>
  398. }
  399.  
  400. //   a background glow to add interest
  401. sphere { <0, 0, 0>, 1000
  402.    inverse
  403.    hollow on
  404.  
  405.    pigment {
  406.       gradient y
  407.       color_map {
  408.          [0.0  0.25  color Goldenrod color Goldenrod]
  409.          [0.25 0.46  color Goldenrod color Black]
  410.          [0.46 1.001 color Black color Black]
  411.       }
  412.       scale 2000
  413.       translate -1000*y
  414.    }
  415. }
  416.