home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / GRAPHICS / MISC / PVDAT.ZIP / CHESS.DAT < prev    next >
Encoding:
Text File  |  1991-09-07  |  17.0 KB  |  707 lines

  1. // Persistence of Vision Raytracer
  2. // Sample file
  3. // By Ville Saari
  4. // Copyright (c) 1991 Ferry Island Pixelboys
  5.  
  6. {
  7. *
  8. * PvRay scene description for chess board.
  9. * Created: 01-Feb-91
  10. * Updated: 02-Mar-91
  11. *
  12. * This scene has 430 primitives in objects and 41 in bounding shapes and
  13. * it takes over 40 hours to render by standard amiga.
  14. *
  15. * If you do some nice modifications or additions to this file, please send 
  16. * me a copy. My Internet address is:
  17. *
  18. *         vsaari@niksula.hut.fi
  19. }
  20.  
  21. #include "shapes.dat"
  22. #include "colors.dat"
  23. #include "textures.dat"
  24.  
  25. view_point
  26.    location <59 20 -48>
  27.    direction <0 0 1>
  28.    up <0 1 0>
  29.    right <1.33 0 0>
  30.    look_at <0 0 1>
  31. end_view_point
  32.  
  33. object
  34.    sphere <0 0 0> 1 end_sphere
  35.    translate <800 600 -200>
  36.    colour White
  37.    texture
  38.       colour White
  39.       ambient 1
  40.       diffuse 0
  41.    end_texture
  42.    light_source
  43. end_object
  44.  
  45. #declare Pawn = union
  46.    sphere <0 7 0> 1.5 end_sphere
  47.  
  48.    quadric QSphere
  49.       scale <1.2 0.3 1.2>
  50.       translate <0 5.5 0>
  51.    end_quadric
  52.  
  53.    intersection
  54.       plane <0 1 0> 5.5 end_plane
  55.       quadric Hyperboloid_Y
  56.          translate <0 5 0>
  57.          scale <0.5 1 0.5>
  58.       end_quadric
  59.       plane <0 -1 0> -2.5 end_plane
  60.    end_intersection
  61.  
  62.    quadric QSphere
  63.       scale <2 0.5 2>
  64.       translate <0 2.3 0>
  65.    end_quadric
  66.  
  67.    intersection
  68.       sphere <0 0 0> 2.5 end_sphere
  69.       plane <0 -1 0> 0 end_plane
  70.    end_intersection
  71. end_union
  72.  
  73. #declare Rook = union
  74.    intersection
  75.       union
  76.          plane < 1 0 0> -0.5 end_plane
  77.          plane <-1 0 0> -0.5 end_plane
  78.          plane < 0 1 0>  9   end_plane
  79.       end_union
  80.  
  81.       union
  82.          plane <0 0  1> -0.5 end_plane
  83.          plane <0 0 -1> -0.5 end_plane
  84.          plane <0 1  0>  9   end_plane
  85.       end_union
  86.  
  87.       plane <0 1 0> 10 end_plane
  88.       quadric Cylinder_Y scale <2 1 2> end_quadric
  89.       quadric Cylinder_Y scale <1.2 1 1.2> inverse end_quadric
  90.       plane <0 -1 0> -8 end_plane
  91.    end_intersection
  92.  
  93.    intersection
  94.       plane <0 1 0> 8 end_plane
  95.       quadric Hyperboloid_Y
  96.          scale <1 1.5 1>
  97.          translate <0 5.401924 0>
  98.       end_quadric
  99.       plane <0 -1 0> -3 end_plane
  100.    end_intersection
  101.  
  102.    quadric QSphere
  103.       scale <2.5 0.5 2.5>
  104.       translate <0 2.8 0>
  105.    end_quadric
  106.  
  107.    intersection
  108.       sphere <0 0 0> 3 end_sphere
  109.       plane <0 -1 0> 0 end_plane
  110.    end_intersection
  111. end_union
  112.  
  113. #declare Knight = union
  114.    intersection
  115.       quadric Cylinder_Z
  116.          scale <17.875 17.875 1>
  117.          translate <-18.625 7 0>
  118.          inverse
  119.       end_quadric
  120.  
  121.       quadric Cylinder_Z
  122.          scale <17.875 17.875 1>
  123.          translate <18.625 7 0>
  124.          inverse
  125.       end_quadric
  126.  
  127.       quadric Cylinder_X
  128.          scale <1 5.1 5.1>
  129.          translate <0 11.2 -5>
  130.          inverse
  131.       end_quadric
  132.  
  133.       union
  134.          plane <0 1 0> 0
  135.             rotate <30 0 0>
  136.             translate <0 9.15 0>
  137.          end_plane
  138.          plane <0 0 1> 0
  139.             rotate <-20 0 0>
  140.             translate <0 10 0>
  141.          end_plane
  142.       end_union
  143.  
  144.       union
  145.          plane <0 -1 0> 0
  146.             rotate <30 0 0>
  147.             translate <0 7.15 0>
  148.          end_plane
  149.          plane <0 1 0> 0
  150.             rotate <60 0 0>
  151.             translate <0 7.3 0>
  152.          end_plane
  153.       end_union
  154.  
  155.       union
  156.          plane <0 1 0> 0
  157.             rotate <0 0 -45>
  158.          end_plane
  159.          plane <0 1 0> 0
  160.             rotate <0 0 45>
  161.          end_plane
  162.          translate <0 9 0>
  163.       end_union
  164.  
  165.       quadric Cylinder_Y scale <2 1 2> end_quadric
  166.       sphere <0 7 0> 4 end_sphere
  167.    end_intersection
  168.  
  169.    quadric QSphere
  170.       scale <2.5 0.5 2.5>
  171.       translate <0 2.8 0>
  172.    end_quadric
  173.  
  174.    intersection
  175.       sphere <0 0 0> 3 end_sphere
  176.       plane <0 -1 0> 0 end_plane
  177.    end_intersection
  178. end_union
  179.  
  180. #declare Bishop = union
  181.    sphere <0 10.8 0> 0.4 end_sphere
  182.  
  183.    intersection
  184.       union
  185.          plane <0 0 -1> -0.25 end_plane
  186.          plane <0 0  1> -0.25 end_plane
  187.          plane <0 1  0>  0    end_plane
  188.          rotate <30 0 0>
  189.          translate <0 8.5 0>
  190.       end_union
  191.  
  192.       quadric QSphere
  193.          scale <1.4 2.1 1.4>
  194.          translate <0 8.4 0>
  195.       end_quadric
  196.  
  197.       plane <0 -1 0> -7 end_plane
  198.    end_intersection
  199.  
  200.    quadric QSphere
  201.       scale <1.5 0.4 1.5>
  202.       translate <0 7 0>
  203.    end_quadric
  204.  
  205.    intersection
  206.       plane <0 1 0> 7 end_plane
  207.       quadric Hyperboloid_Y
  208.          scale <0.6 1.4 0.6>
  209.          translate <0 7 0>
  210.       end_quadric
  211.       plane <0 -1 0> -3 end_plane
  212.    end_intersection
  213.  
  214.    quadric QSphere
  215.       scale <2.5 0.5 2.5>
  216.       translate <0 2.8 0>
  217.    end_quadric
  218.  
  219.    intersection
  220.       sphere <0 0 0> 3 end_sphere
  221.       plane <0 -1 0> 0 end_plane
  222.    end_intersection
  223. end_union
  224.  
  225. #declare QueenAndKing = union
  226.    sphere <0 10.5 0> 1.5 end_sphere
  227.  
  228.    intersection
  229.       union
  230.          sphere <1.75 12 0> 0.9 rotate <0 150 0> end_sphere
  231.          sphere <1.75 12 0> 0.9 rotate <0 120 0> end_sphere
  232.          sphere <1.75 12 0> 0.9 rotate <0  90 0> end_sphere
  233.          sphere <1.75 12 0> 0.9 rotate <0  60 0> end_sphere
  234.          sphere <1.75 12 0> 0.9 rotate <0  30 0> end_sphere
  235.          sphere <1.75 12 0> 0.9                   end_sphere
  236.          sphere <1.75 12 0> 0.9 rotate <0  -30 0> end_sphere
  237.          sphere <1.75 12 0> 0.9 rotate <0  -60 0> end_sphere
  238.          sphere <1.75 12 0> 0.9 rotate <0  -90 0> end_sphere
  239.          sphere <1.75 12 0> 0.9 rotate <0 -120 0> end_sphere
  240.          sphere <1.75 12 0> 0.9 rotate <0 -150 0> end_sphere
  241.          sphere <1.75 12 0> 0.9 rotate <0 180 0> end_sphere
  242.          inverse
  243.       end_union
  244.  
  245.       plane <0 1 0> 11.5 end_plane
  246.  
  247.       quadric Cone_Y
  248.          scale <1 3 1>
  249.          translate <0 5 0>
  250.       end_quadric
  251.  
  252.       plane <0 -1 0> -8 end_plane
  253.    end_intersection
  254.  
  255.    quadric QSphere
  256.       scale <1.8 0.4 1.8>
  257.       translate <0 8 0>
  258.    end_quadric
  259.  
  260.    intersection
  261.       plane <0 1 0> 8 end_plane
  262.       quadric Hyperboloid_Y
  263.          scale <0.7 1.6 0.7>
  264.          translate <0 7 0>
  265.       end_quadric
  266.       plane <0 -1 0> -3 end_plane
  267.    end_intersection
  268.  
  269.    quadric QSphere
  270.       scale <2.5 0.5 2.5>
  271.       translate <0 2.8 0>
  272.    end_quadric
  273.  
  274.    intersection
  275.       sphere <0 0 0> 3 end_sphere
  276.       plane <0 -1 0> 0 end_plane
  277.    end_intersection
  278. end_union
  279.  
  280. #declare Queen = union
  281.    sphere <0 12.3 0> 0.4 end_sphere
  282.    union QueenAndKing end_union
  283. end_union
  284.  
  285. #declare King = union
  286.    intersection
  287.       union
  288.          intersection
  289.             plane <0  1 0>  13 end_plane
  290.             plane <0 -1 0> -12.5 end_plane
  291.          end_intersection
  292.  
  293.          intersection
  294.             plane < 1 0 0> 0.25 end_plane
  295.             plane <-1 0 0> 0.25 end_plane
  296.          end_intersection
  297.       end_union
  298.  
  299.       plane < 0  0  1>   0.25 end_plane
  300.       plane < 0  0 -1>   0.25 end_plane
  301.       plane < 1  0  0>   0.75 end_plane
  302.       plane <-1  0  0>   0.75 end_plane
  303.       plane < 0  1  0>  13.5  end_plane
  304.       plane < 0 -1  0> -11.5  end_plane
  305.    end_intersection
  306.  
  307.    union QueenAndKing end_union
  308. end_union
  309.  
  310. #declare WWood = texture
  311.    wood
  312.    turbulence 0.1
  313.    colour_map
  314.       [ 0.0 0.35 colour red 0.7  green 0.4
  315.                  colour red 0.7  green 0.4  ]
  316.       [ 0.35 1.0 colour red 0.95 green 0.62
  317.                  colour red 0.95 green 0.62 ]
  318.    end_colour_map
  319.    scale <0.6 1000.0 0.6>
  320.    translate <200.0 0.0 100.0>
  321.    specular 1
  322.    roughness 0.02
  323. end_texture
  324.  
  325. #declare BWood = texture
  326.    wood
  327.    turbulence 0.1
  328.    colour_map
  329.       [ 0.0 0.55 colour red 0.45 green 0.25
  330.                  colour red 0.45 green 0.25 ]
  331.       [ 0.55 1.0 colour red 0.30 green 0.16
  332.                  colour red 0.30 green 0.16 ]
  333.    end_colour_map
  334.    scale <0.6 1000.0 0.6>
  335.    translate <100.0 0.0 -200.0>
  336.    specular 1
  337.    roughness 0.02
  338. end_texture
  339.  
  340. #declare WPawn = object
  341.    union Pawn end_union
  342.  
  343.    bounded_by
  344.       sphere <0 4 0> 4.72 end_sphere
  345.    end_bound
  346.  
  347.    texture WWood end_texture
  348.    colour red 0.95 green 0.62
  349. end_object
  350.  
  351. #declare BPawn = object
  352.    union Pawn end_union
  353.  
  354.    bounded_by
  355.       sphere <0 4 0> 4.72 end_sphere
  356.    end_bound
  357.  
  358.    texture BWood end_texture
  359.    colour red 0.4 green 0.2
  360. end_object
  361.  
  362. #declare WRook = object
  363.    union Rook end_union
  364.  
  365.    bounded_by
  366.       sphere <0 5 0> 5.831 end_sphere
  367.    end_bound
  368.  
  369.    texture WWood end_texture
  370.    colour red 0.95 green 0.62
  371. end_object
  372.  
  373. #declare BRook = object
  374.    union Rook end_union
  375.  
  376.    bounded_by
  377.       sphere <0 5 0> 5.831 end_sphere
  378.    end_bound
  379.  
  380.    texture BWood end_texture
  381.    colour red 0.4 green 0.2
  382. end_object
  383.  
  384. #declare WKnight = object
  385.    union Knight end_union
  386.  
  387.    bounded_by
  388.       sphere <0 5 0> 5.831 end_sphere
  389.    end_bound
  390.  
  391.    texture WWood end_texture
  392.    colour red 0.95 green 0.62
  393. end_object
  394.  
  395. #declare BKnight = object
  396.    union Knight end_union
  397.    rotate <0 180 0>
  398.  
  399.    bounded_by
  400.       sphere <0 5 0> 5.831 end_sphere
  401.    end_bound
  402.  
  403.    texture BWood end_texture
  404.    colour red 0.4 green 0.2
  405. end_object
  406.  
  407. #declare WBishop = object
  408.    union Bishop end_union
  409.  
  410.    bounded_by
  411.       sphere <0 5.5 0> 6.265 end_sphere
  412.    end_bound
  413.  
  414.    texture WWood end_texture
  415.    colour red 0.95 green 0.62
  416. end_object
  417.  
  418. #declare BBishop = object
  419.    union Bishop end_union
  420.    rotate <0 180 0>
  421.  
  422.    bounded_by
  423.       sphere <0 5.5 0> 6.265 end_sphere
  424.    end_bound
  425.  
  426.    texture BWood end_texture
  427.    colour red 0.4 green 0.2
  428. end_object
  429.  
  430. #declare WQueen = object
  431.    union Queen end_union
  432.  
  433.    bounded_by
  434.       intersection
  435.          sphere <0 6 0> 6.71 end_sphere
  436.          quadric Cylinder_Y scale <3 1 3> end_quadric
  437.       end_intersection
  438.    end_bound
  439.  
  440.    texture WWood end_texture
  441.    colour red 0.95 green 0.62
  442. end_object
  443.  
  444. #declare BQueen = object
  445.    union Queen end_union
  446.  
  447.    bounded_by
  448.       intersection
  449.          sphere <0 6 0> 6.71 end_sphere
  450.          quadric Cylinder_Y scale <3 1 3> end_quadric
  451.       end_intersection
  452.    end_bound
  453.  
  454.    texture BWood end_texture
  455.    colour red 0.4 green 0.2
  456. end_object
  457.  
  458. #declare WKing = object
  459.    union King end_union
  460.  
  461.    bounded_by
  462.       intersection
  463.          sphere <0 6.5 0> 7.16 end_sphere
  464.          quadric Cylinder_Y scale <3 1 3> end_quadric
  465.       end_intersection
  466.    end_bound
  467.  
  468.    texture WWood end_texture
  469.    colour red 0.95 green 0.62
  470. end_object
  471.  
  472. #declare BKing = object
  473.    union King end_union
  474.  
  475.    bounded_by
  476.       intersection
  477.          sphere <0 6.5 0> 7.16 end_sphere
  478.          quadric Cylinder_Y scale <3 1 3> end_quadric
  479.       end_intersection
  480.    end_bound
  481.  
  482.    texture BWood end_texture
  483.    colour red 0.4 green 0.2
  484. end_object
  485.  
  486. object { Sky }
  487.    sphere <0 -39000 0> 40000 inverse end_sphere
  488.  
  489.    texture
  490.       bozo
  491.       turbulence 0.6
  492.       colour_map
  493.          [0 0.5 colour red 0.4 green 0.5 blue 1
  494.                   colour red 0.4 green 0.5 blue 1.0]
  495.          [0.5 0.7 colour red 0.4 green 0.5 blue 1
  496.                   colour red 1 green 1 blue 1.0]
  497.          [0.7 1 colour red 1 green 1 blue 1
  498.                   colour red 0.7 green 0.7 blue 0.7]
  499.       end_colour_map
  500.       scale <500 500 500>
  501.       ambient 1
  502.       diffuse 0
  503.    end_texture
  504.  
  505.    colour red 0.4 green 0.5 blue 1
  506. end_object
  507.  
  508. object { Ground }
  509.    plane <0 1 0> -80 end_plane
  510.  
  511.    texture
  512.       0.05
  513.       colour green 1
  514.       ambient 0.5
  515.       diffuse 0.5
  516.    end_texture
  517.    colour green 1
  518. end_object
  519.  
  520. #declare Frame = intersection
  521.    plane < 0  1  0> -0.0001 end_plane
  522.    plane < 0 -1  0>  3 end_plane
  523.    plane < 0  0 -1> 35 end_plane
  524.    plane <-1  0  1>  0 end_plane
  525.    plane < 1  0  1>  0 end_plane
  526. end_intersection
  527.  
  528. composite
  529.    composite
  530.       object
  531.          union
  532.             intersection Frame end_intersection
  533.             intersection Frame rotate <0 180 0> end_intersection
  534.          end_union
  535.  
  536.          texture
  537.             wood
  538.             turbulence 0.3
  539.             scale <0.8 1000 0.8>
  540.             rotate <0 0 -88>
  541.             translate <200 40 -20>
  542.             specular 1
  543.             roughness 0.02
  544.          end_texture
  545.  
  546.          colour red 0.5 green 0.25
  547.       end_object
  548.  
  549.       object
  550.          union
  551.             intersection Frame rotate <0 -90 0> end_intersection
  552.             intersection Frame rotate <0  90 0> end_intersection
  553.          end_union
  554.  
  555.          texture
  556.             wood
  557.             turbulence 0.3
  558.             scale <0.8 1000 0.8>
  559.             rotate <-91 0 0>
  560.             translate <100 30 0>
  561.             specular 1
  562.             roughness 0.02
  563.          end_texture
  564.  
  565.          colour red 0.5 green 0.25
  566.       end_object
  567.    
  568.       object { Board }
  569.          intersection
  570.             plane < 1  0  0> 32 end_plane
  571.             plane <-1  0  0> 32 end_plane
  572.             plane < 0  1  0>  0 end_plane
  573.             plane < 0 -1  0>  1 end_plane
  574.             plane < 0  0  1> 32 end_plane
  575.             plane < 0  0 -1> 32 end_plane
  576.          end_intersection
  577.    
  578.          texture
  579.             checker_texture
  580.                texture
  581.                   marble
  582.                   turbulence 1.0
  583.                   colour_map
  584.                      [0.0 0.7 colour White
  585.                               colour White]
  586.                      [0.7 0.9 colour White
  587.                               colour red 0.8 green 0.8 blue 0.8]
  588.                      [0.9 1.0 colour red 0.8 green 0.8 blue 0.8
  589.                               colour red 0.5 green 0.5 blue 0.5]
  590.                   end_colour_map
  591.                   scale <0.6 1 0.6>
  592.                   rotate <0 -30 0>
  593.                end_texture
  594.             tile2
  595.                texture
  596.                   granite
  597.                   scale <0.3 1 0.3>
  598.                   colour_map
  599.                     [0 1 colour Black
  600.                          colour red 0.5 green 0.5 blue 0.5]
  601.                   end_colour_map
  602.                end_texture
  603.             end_checker_texture
  604.             scale <8 1 8>
  605.             specular 1
  606.             roughness 0.02
  607.             reflection 0.25
  608.          end_texture
  609.  
  610.          colour red 0.63 green 0.52 blue 0.45
  611.       end_object
  612.    
  613.       object { Table }
  614.          union
  615.             intersection
  616.                plane  <0  1 0> -3 end_plane
  617.                plane  <0 -1 0>  8 end_plane
  618.                sphere <0 -5.5 0> 55 end_sphere
  619.             end_intersection
  620.    
  621.             intersection
  622.                plane <0 1 0> -8 end_plane
  623.                quadric Hyperboloid_Y
  624.                   scale <10 20 10>
  625.                   translate <0 -20 0>
  626.                end_quadric
  627.             end_intersection
  628.          end_union
  629.    
  630.          texture granite
  631.             scale <6 6 6>
  632.             specular 1
  633.             roughness 0.02
  634.             reflection 0.3
  635.          end_texture
  636.    
  637.          colour red 0.5 green 0.5 blue 0.5
  638.       end_object
  639.    
  640.       bounded_by
  641.          plane <0 1 0> 0 end_plane
  642.       end_bound
  643.    end_composite
  644.  
  645.    composite
  646.       object WPawn translate <-28 0 -20> end_object
  647.       object WPawn translate <-20 0 -20> end_object
  648.       object WPawn translate <-12 0 -20> end_object
  649.       object WPawn translate < -4 0 -20> end_object
  650.       object WPawn translate <  4 0 -20> end_object
  651.       object WPawn translate < 12 0 -20> end_object
  652.       object WPawn translate < 20 0 -20> end_object
  653.       object WPawn translate < 28 0 -20> end_object
  654.    
  655.       object WRook   translate <-28 0 -28> end_object
  656.       object WKnight translate <-20 0 -28> end_object
  657.       object WBishop translate <-12 0 -28> end_object
  658.       object WQueen  translate < -4 0 -28> end_object
  659.       object WKing   translate <  4 0 -28> end_object
  660.       object WBishop translate < 12 0 -28> end_object
  661.       object WKnight translate < 20 0 -28> end_object
  662.       object WRook   translate < 28 0 -28> end_object
  663.    
  664.       bounded_by
  665.          quadric Cylinder_X
  666.             scale <1 9.56 9.56>
  667.             translate <0 6.5 -24>
  668.          end_quadric
  669.       end_bound
  670.    end_composite
  671.    
  672.    composite
  673.       object BPawn translate <-28 0 20> end_object
  674.       object BPawn translate <-20 0 20> end_object
  675.       object BPawn translate <-12 0 20> end_object
  676.       object BPawn translate < -4 0 20> end_object
  677.       object BPawn translate <  4 0 20> end_object
  678.       object BPawn translate < 12 0 20> end_object
  679.       object BPawn translate < 20 0 20> end_object
  680.       object BPawn translate < 28 0 20> end_object
  681.    
  682.       object BRook   translate <-28 0 28> end_object
  683.       object BKnight translate <-20 0 28> end_object
  684.       object BBishop translate <-12 0 28> end_object
  685.       object BQueen  translate < -4 0 28> end_object
  686.       object BKing   translate <  4 0 28> end_object
  687.       object BBishop translate < 12 0 28> end_object
  688.       object BKnight translate < 20 0 28> end_object
  689.       object BRook   translate < 28 0 28> end_object
  690.    
  691.       bounded_by
  692.          quadric Cylinder_X
  693.             scale <1 9.56 9.56>
  694.             translate <0 6.5 24>
  695.          end_quadric
  696.       end_bound
  697.    end_composite
  698.  
  699.    bounded_by
  700.       intersection
  701.          plane <0 1 0> 13.5 end_plane
  702.          sphere <0 -30 0> 63 end_sphere
  703.       end_intersection
  704.    end_bound
  705. end_composite
  706.