home *** CD-ROM | disk | FTP | other *** search
/ ANews 3 / AnewsCD3.iso / atari / GRAPHX / POV / 68030.060 / POV31G30 / POVRAY_3.1G / SCENES / ADVANCED / IONIC5 / IONIC5.POV < prev    next >
Text File  |  1999-10-30  |  16KB  |  727 lines

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