home *** CD-ROM | disk | FTP | other *** search
/ Computerspiele Selbermachen / computerspieleselbermachen.iso / pov / ionic5.pov < prev    next >
Text File  |  1993-09-27  |  18KB  |  825 lines

  1. // Persistence of Vision Raytracer Version 2.0
  2. //   This data includes 1 Wall, 1 large 2nd floor column,
  3. //   & 2 smaller ionic colums.
  4.  
  5. //   b-snake.dat is the lower ctds twist that goes around the 
  6. //   door openings.
  7. //   s-head3.dat is the head & top twist of creature
  8. //   turn.dat is ctds data that creates the ionic turned capitals.
  9. //   panther.dat is csg of panther figure.
  10.  
  11. //  Modified for use in stereo pair. Two of the GIF
  12. //  images have been replaced with single colors, and a third column
  13. //  was added to the bottom row.
  14. //
  15. //  Three cameras are included, the original, and two for stereo.
  16.  
  17.  
  18. #include "colors.inc"
  19. #include "shapes.inc"
  20. #include "marble.inc"
  21. #include "b-snake.inc"
  22. #include "turn.inc"
  23. #include "panther.inc"
  24. #include "s-head3.inc"
  25.  
  26. #declare pink = color red 1.0 green 0.5 blue 0.5
  27.  
  28.  
  29. /* original camera */
  30. camera {
  31.    location <-50, 80, -220>
  32.    direction <0, 0, 1.5>
  33.    up <0, 1, 0>
  34.    right <4/3, 0, 0>
  35. }
  36.  
  37. /* camera for left eye, render at 768 x 480 or similar aspect ratio */
  38. /*
  39. camera {
  40.     location <-61, 80, -220>
  41.     direction <0, 0, 1.4>
  42.     up <0, 1, 0>
  43.     right <1.6, 0, 0>
  44. }
  45. */
  46.  
  47. /* camera for right eye, render at 768 x 480 or similar aspect ratio */
  48. /*
  49. camera {
  50.     location <-39, 80, -220>
  51.     direction <0, 0, 1.4>
  52.     up <0, 1, 0>
  53.     right <1.6, 0, 0>
  54. }
  55. */
  56.  
  57. /*-------------- WORLD WALLS ---------------------------------*/
  58. sphere {
  59.    <0, 0, 0>, 50000
  60.    texture {
  61.       pigment { MidnightBlue }
  62.       finish {
  63.          ambient 1.0
  64.          diffuse 0.0
  65.       }
  66.    }
  67. }
  68.  
  69. /*---------------LIGHT #1------------------------------------*/
  70. light_source { <700, 150, -500> color White }
  71.  
  72. /*--------------LIGHT #2-------------------------------------*/
  73. light_source { <-4000, 100, -1000> color White }
  74.  
  75.  
  76. /**********************************************************************/
  77.  
  78. /*-----------BASE OF COLUMN A / TOP FLOOR-------------------*/
  79. #declare base_a = union {
  80.    sphere { <0, 0, 0>, 1 scale <13, 5.5, 13> }
  81.    sphere { <0, 0, 0>, 1 scale <11, 3, 11> translate 4*y  }
  82.    cylinder { <0,0,0>, y, 1 scale <10, 4, 10> translate 5*y }
  83.  
  84.    texture {
  85.       marble1
  86.       scale <9, 6, 4>
  87.       finish {
  88.          ambient 0.5
  89.          diffuse 1
  90.       }
  91.    }
  92.    texture {
  93.       marble4
  94.       scale <7, 12, 9>
  95.       rotate <0, 0, -40>
  96.       finish {
  97.          diffuse 1.0
  98.          phong 0.6
  99.          phong_size 50
  100.       }
  101.    }
  102.  
  103.    rotate 40*y
  104.    bounded_by {
  105.       cylinder {
  106.          <0,0,0>, y, 1
  107.          scale <13.5, 16, 13.5>
  108.          translate -4*y
  109.       }
  110.    }
  111. }
  112.  
  113. /*-----------MOTIF TILE WORK--------------------*/
  114. #declare motif1 = cylinder {
  115.    <0,0,0>, y, 1
  116.    scale <9.5, 7, 9.5>
  117.  
  118.    texture {
  119.       pigment {
  120.          image_map { gif "congo4.gif" }
  121.          scale <19, 7, 1>
  122.          translate <-9.5, 0, -1>
  123.        }
  124.        finish {
  125.           ambient 0.3
  126.           diffuse 0.9
  127.           phong 0.6
  128.        }
  129.     }
  130.  }
  131.  
  132.  
  133. /*----------- COLUMN A -------------------------------------------------*/
  134. #declare column_a = cylinder {
  135.    <0,0,0>, y, 1
  136.    scale <9.3, 50, 9.3>
  137.  
  138.    texture {
  139.       marble1
  140.       finish {
  141.          crand 0.01
  142.          ambient 0.2
  143.          diffuse 0.8
  144.       }
  145.       scale <16, 4, 4>
  146.    }
  147.    texture {
  148.       marble2
  149.       scale <10, 6, 5>
  150.       rotate -30*z
  151.       finish { diffuse 1.0 }
  152.    }
  153.    texture {
  154.       marble4
  155.       finish {
  156.          phong 0.6
  157.          phong_size 45
  158.       }
  159.       scale <8, 15, 5>
  160.       rotate <0, 0, 50>
  161.    }
  162.  
  163.    rotate 10*y
  164. }
  165.  
  166.  
  167.  
  168. /*-----------COMBINE COLUMN & BASE --------------------------------*/
  169. #declare top_column = union {
  170.    object { base_a }
  171.    object { motif1 translate 9*y }
  172.    object { column_a translate 12*y }
  173.  
  174.    bounded_by {
  175.       cylinder {
  176.          <0,0,0>, y, 1
  177.          scale <13.5, 50, 13.5>
  178.          translate -3*y
  179.       }
  180.    }
  181. }
  182.  
  183.  
  184. /*--------------------TOP  FLOOR---------------------------------------*/
  185. #declare floor = object {
  186.    Cube
  187.    scale <100, 1, 50>
  188.  
  189.    texture {
  190.       pigment { Salmon }
  191.       finish {
  192.          ambient 0.2
  193.          diffuse 0.5
  194.          phong 1.0
  195.          phong_size 10
  196.       }
  197.    }
  198. }
  199.  
  200. /*----------- ROUND CORNER ----------------------------*/
  201. #declare sp1 = sphere { <0, 0, 0>, 2 }
  202.  
  203. #declare round_cap = object {
  204.    union {
  205.       object { sp1 translate <-100, 0, -50> }
  206.       object { sp1 translate <-100, 0,  50> }
  207.       object { sp1 translate <100, 0, -50> }
  208.       object { sp1 translate <100, 0,  50>  }
  209.       cylinder { <0,0,0>, x, 1 scale <200, 2, 2> translate <-100, 0, -50> }
  210.       cylinder { <0,0,0>, z, 1 scale <2, 2, 100> translate <-100, 0, -50> }
  211.    }
  212.  
  213.    texture {
  214.       marble1
  215.       scale <50, 10, 40>
  216.       finish {
  217.          ambient 0.4
  218.          diffuse 0.9
  219.       }
  220.    }
  221.    texture {
  222.       marble2
  223.       scale <40, 5, 20>
  224.       rotate <0, 0, 40>
  225.    }
  226.    texture {
  227.       marble4
  228.       scale <20, 20, 20>
  229.       rotate <0, 0, -40>
  230.       finish { phong 0.6 phong_size 20 }
  231.    }
  232.  
  233.    bounded_by {
  234.       object {
  235.          Cube
  236.          scale <103, 25, 53>
  237.          translate <0, 0, 0>
  238.       }
  239.    }
  240. }
  241.  
  242. /*--------------- ONE DENTILE ----------------------------------*/
  243. #declare d1 = object { Cube scale <1, 1.5, 2> }
  244.  
  245. #declare cornice = union {
  246.    object { Cube scale <103, 0.5, 53> translate <0, 2.5, 0> }
  247.    object { Cube scale <103, 1, 53>   translate <0, -2, 0>  }
  248.    object { Cube scale <101, 2, 51>   translate <0, 0, 0>   }
  249.  
  250.    texture {
  251.       marble1
  252.       scale <10, 6, 4>
  253.       finish {
  254.          ambient 0.4
  255.          diffuse 1.0
  256.       }
  257.    }
  258.    texture {
  259.       marble2
  260.       scale <7, 6, 4>
  261.       rotate <0, 0, 40>
  262.    }
  263.    texture {
  264.       marble4
  265.       scale <3, 6, 5>
  266.       rotate <0, 0, -40>
  267.       finish {
  268.          phong 0.6
  269.          phong_size 20
  270.       }
  271.    }
  272.  
  273.    bounded_by {
  274.       object {
  275.          Cube
  276.          scale <104, 3.5, 54>
  277.          translate <0, 0, 0>
  278.       }
  279.    }
  280. }
  281.  
  282. /*-------------------- ROW OF DENTILES ---------------*/
  283. #declare dentile_a = union {
  284.    object { d1 translate -50*x }
  285.    object { d1 translate -45*x }
  286.    object { d1 translate -40*x }
  287.    object { d1 translate -35*x }
  288.    object { d1 translate -30*x }
  289.    object { d1 translate -25*x }
  290.    object { d1 translate -20*x }
  291.    object { d1 translate -15*x }
  292.    object { d1 translate -10*x }
  293.    object { d1 translate  -5*x }
  294.    object { d1 translate   0*x }
  295.    object { d1 translate  50*x }
  296.    object { d1 translate  45*x }
  297.    object { d1 translate  40*x }
  298.    object { d1 translate  35*x }
  299.    object { d1 translate  30*x }
  300.    object { d1 translate  25*x }
  301.    object { d1 translate  20*x }
  302.    object { d1 translate  15*x }
  303.    object { d1 translate  10*x }
  304.    object { d1 translate   5*x }
  305.  
  306.    texture {
  307.       marble1
  308.       scale <10, 6, 4>
  309.       finish {
  310.          ambient 0.4
  311.          diffuse 0.9
  312.       }
  313.    }
  314.    texture {
  315.       marble2
  316.       scale <7, 6, 4>
  317.       rotate <0, 0, 40>
  318.    }
  319.    texture {
  320.       marble4
  321.       scale <3, 6, 4>
  322.       rotate <0, 0, -40>
  323.       finish {
  324.          phong 0.6
  325.          phong_size 20
  326.       }
  327.    }
  328.  
  329.    bounded_by {
  330.       object {
  331.          Cube
  332.          scale <60, 2, 2>
  333.          translate <0, 0, 0>
  334.       }
  335.    }
  336. }
  337.  
  338. /*--------------  COMBINE CORNICE, FLOOR, CAP & DENTILES -----------*/
  339. #declare top_floor = union {
  340.    object { floor     translate <0, 9, 0>     }
  341.    object { round_cap translate <0, 7, 0>     }
  342.    object { cornice   translate <0, 3, 0>     }
  343.    object { dentile_a translate <-50, 4, -52> }
  344.    object { dentile_a translate < 50, 4, -52>  }
  345.  
  346.    bounded_by {
  347.       object {
  348.          Cube
  349.          scale <105, 8, 57>
  350.          translate <0, 8, 0>
  351.       }
  352.    }
  353. }
  354.  
  355. /*------------------MAKE AN IONIC CAPIAL---------------------------*/
  356.  
  357. #declare turn = object { s1 rotate -90*x }
  358.  
  359. /*--------------- 1/2 SECTION OF CAP ------------------------------*/
  360. #declare cap_a = union {
  361.    sphere {
  362.       <0, 0, 0>, 1 
  363.       scale <7, 2, 7>
  364.       translate <0, 1, 0>
  365.    }
  366.    cylinder {
  367.       <0,0,0>, y, 1
  368.       scale <6, 5, 6>
  369.       translate <0, 2, 0>
  370.