home *** CD-ROM | disk | FTP | other *** search
/ Mega A/V / mega_av.zip / mega_av / GRAPHUTL / POVSCN.ZIP / LEVEL3.ZIP / IONIC5.ZIP / IONIC5.POV < prev    next >
Text File  |  1992-07-21  |  16KB  |  730 lines

  1. // Persistence of Vision Raytracer Version 1.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> right <1.333 0 0>
  34. }
  35.  
  36. /* camera for left eye, render at 768 x 480 or similar aspect ratio */
  37. /*
  38. camera {
  39.     location <-61 80 -220>
  40.     direction <0 0 1.4>
  41.     up <0 1 0> right <1.6 0 0>
  42. }
  43. */
  44.  
  45. /* camera for right eye, render at 768 x 480 or similar aspect ratio */
  46. /*
  47. camera {
  48.     location <-39 80 -220>
  49.     direction <0 0 1.4>
  50.     up <0 1 0> right <1.6 0 0>
  51. }
  52. */
  53.  
  54. /*-------------- WORLD WALLS ---------------------------------*/
  55. object {
  56.    sphere { <0 0 0> 50000 }
  57.    texture {
  58.       color MidnightBlue
  59.       ambient 1.0
  60.       diffuse 0.0
  61.    }
  62. }
  63.  
  64. /*---------------LIGHT #1------------------------------------*/
  65. object { light_source { <700 150 -500> color White    } }
  66.  
  67. /*--------------LIGHT #2-------------------------------------*/
  68. object { light_source { <-4000 100 -1000> color White  } }
  69.  
  70.  
  71. /**********************************************************************/
  72.  
  73. /*-----------BASE OF COLUMN A / TOP FLOOR-------------------*/
  74. #declare base_a = object {
  75.    union {
  76.       quadric { Ellipsoid scale <13 5.5 13>  }
  77.       quadric { Ellipsoid scale <11 3 11> translate <0 4 0>  }
  78.       intersection { Disk_Y scale <10 4 10> translate <0 5 0>  }
  79.    }
  80.  
  81.    texture {
  82.       marble1
  83.       scale <9 6 4>
  84.       ambient 0.5
  85.       diffuse 1
  86.    }
  87.    texture {
  88.       marble4
  89.       scale <7 12 9>
  90.       diffuse 1.0
  91.       rotate <0 0 -40>
  92.       phong 0.6
  93.       phong_size 50
  94.    }
  95.  
  96.    rotate <0 40 0>
  97.    bounded_by {
  98.       intersection { Disk_Y scale
  99.      <13.5 16 13.5>
  100.      translate <0 -4 0>
  101.       }
  102.    }
  103. }
  104.  
  105. /*-----------MOTIF TILE WORK--------------------*/
  106. #declare motif1 = object {
  107.    intersection { Disk_Y
  108.       scale <9.5 7 9.5>
  109.    }
  110.    texture {
  111.       image_map { <1.0 -1.0 0> gif "congo4.gif"  }
  112.       scale <19 7 1>
  113.       translate <-9.5 0 -1>
  114.       ambient 0.3
  115.       diffuse 0.9
  116.       phong 0.6
  117.    }
  118. }
  119.  
  120. /*----------- COLUMN A -------------------------------------------------*/
  121. #declare column_a = object {
  122.    intersection { Disk_Y
  123.       scale <9.3 50 9.3>
  124.    }
  125.    texture { 0.1
  126.       marble1
  127.       ambient 0.2
  128.       diffuse 0.8
  129.       scale <16 4 4>
  130.    }
  131.    texture {
  132.       marble2
  133.       scale <10 6 5>
  134.       rotate <0 0 -30>
  135.       diffuse 1.0
  136.    }
  137.    texture {
  138.       marble4
  139.       phong 0.6
  140.       phong_size 45
  141.       scale <8 15 5>
  142.       rotate <0 0 50>
  143.    }
  144.    rotate <0 10 0>
  145. }
  146.  
  147.  
  148.  
  149. /*-----------COMBINE COLUMN & BASE --------------------------------*/
  150. #declare top_column = composite {
  151.    object { base_a }
  152.    object { motif1 translate <0 9 0> }
  153.    object { column_a translate <0 12 0> }
  154.    bounded_by {
  155.       intersection { Disk_Y
  156.      scale <13.5 50 13.5>
  157.      translate <0 -3 0>
  158.       }
  159.    }
  160. }
  161.  
  162.  
  163. /*--------------------TOP  FLOOR---------------------------------------*/
  164. #declare floor = object {
  165.    intersection {  Cube
  166.       scale <100 1 50>
  167.    }
  168.    texture {
  169.       color Salmon
  170.       ambient 0.2
  171.       diffuse 0.5
  172.       phong 1.0
  173.       phong_size 10
  174.    }
  175. }
  176.  
  177. /*----------- ROUND CORNER ----------------------------*/
  178. #declare sp1 = quadric { Ellipsoid scale <2 2 2> }
  179.  
  180. #declare round_cap = object {
  181.    union {
  182.       quadric { sp1 translate <-100 0 -50> }
  183.       quadric { sp1 translate <-100 0  50> }
  184.       quadric { sp1 translate <100 0  -50> }
  185.       quadric { sp1 translate <100 0   50>  }
  186.       intersection { Disk_X scale <200 2 2> translate <-100 0 -50> }
  187.       intersection { Disk_Z scale <2 2 100> translate <-100 0 -50> }
  188.    }
  189.  
  190.    texture {
  191.       marble1
  192.       scale <50 10 40>
  193.       ambient 0.4
  194.       diffuse 0.9
  195.    }
  196.    texture {
  197.       marble2
  198.       scale <40 5 20>
  199.       rotate <0 0 40>
  200.    }
  201.    texture {
  202.       marble4
  203.       scale <20 20 20>
  204.       rotate <0 0 -40>
  205.       phong 0.6 phong_size 20
  206.    }
  207.  
  208.    bounded_by {
  209.       intersection { Cube
  210.      scale <103 25 53>
  211.      translate <0 0 0>
  212.       }
  213.    }
  214. }
  215.  
  216. /*--------------- ONE DENTILE ----------------------------------*/
  217. #declare d1 = intersection { Cube scale <1 1.5 2> }
  218.  
  219. #declare cornice = object {
  220.    union {
  221.       intersection { Cube scale <103 0.5 53> translate <0 2.5 0> }
  222.       intersection { Cube scale <103 1 53>   translate <0 -2 0>  }
  223.       intersection { Cube scale <101 2 51>   translate <0 0 0>   }
  224.    }
  225.  
  226.    texture {
  227.       marble1
  228.       scale <10 6 4>
  229.       ambient 0.4
  230.       diffuse 1.0
  231.    }
  232.    texture {
  233.       marble2
  234.       scale <7 6 4>
  235.       rotate <0 0 40>
  236.    }
  237.    texture {
  238.       marble4
  239.       scale <3 6 5>
  240.       rotate <0 0 -40>
  241.       phong 0.6
  242.       phong_size 20
  243.    }
  244.  
  245.    bounded_by {
  246.       intersection { Cube
  247.      scale <104 3.5 54>
  248.      translate <0 0 0>
  249.       }
  250.    }
  251. }
  252.  
  253. /*-------------------- ROW OF DENTILES ---------------*/
  254. #declare dentile_a = object {
  255.    union {
  256.       intersection { d1 translate <-50 0 0> }
  257.       intersection { d1 translate <-45 0 0> }
  258.       intersection { d1 translate <-40 0 0> }
  259.       intersection { d1 translate <-35 0 0> }
  260.       intersection { d1 translate <-30 0 0> }
  261.       intersection { d1 translate <-25 0 0> }
  262.       intersection { d1 translate <-20 0 0> }
  263.       intersection { d1 translate <-15 0 0> }
  264.       intersection { d1 translate <-10 0 0> }
  265.       intersection { d1 translate < -5 0 0> }
  266.       intersection { d1 translate <  0 0 0> }
  267.       intersection { d1 translate < 50 0 0> }
  268.       intersection { d1 translate < 45 0 0> }
  269.       intersection { d1 translate < 40 0 0> }
  270.       intersection { d1 translate < 35 0 0> }
  271.       intersection { d1 translate < 30 0 0> }
  272.       intersection { d1 translate < 25 0 0> }
  273.       intersection { d1 translate < 20 0 0> }
  274.       intersection { d1 translate < 15 0 0> }
  275.       intersection { d1 translate < 10 0 0> }
  276.       intersection { d1 translate <  5 0 0> }
  277.    }
  278.  
  279.    texture {
  280.       marble1
  281.       scale <10 6 4>
  282.       ambient 0.4
  283.       diffuse 0.9
  284.    }
  285.    texture {
  286.       marble2
  287.       scale <7 6 4>
  288.       rotate <0 0 40>
  289.    }
  290.    texture {
  291.       marble4
  292.       scale <3 6 4>
  293.       rotate <0 0 -40>
  294.       phong 0.6
  295.       phong_size 20
  296.    }
  297.  
  298.  
  299.    bounded_by {
  300.       intersection { Cube
  301.      scale <60 2 2>
  302.      translate <0 0 0>
  303.       }
  304.    }
  305. }
  306.  
  307. /*--------------  COMBINE CORNICE, FLOOR, CAP & DENTILES -----------*/
  308. #declare top_floor = composite {
  309.    object { floor     translate <0 9 0>     }
  310.    object { round_cap translate <0 7 0>     }
  311.    object { cornice   translate <0 3 0>     }
  312.    object { dentile_a translate <-50 4 -52> }
  313.    object { dentile_a translate < 50 4 -52>  }
  314.  
  315.    bounded_by {
  316.       intersection { Cube
  317.      scale <105 8 57>
  318.      translate <0 8 0>
  319.       }
  320.    }
  321. }
  322.  
  323. /*------------------MAKE AN IONIC CAPIAL---------------------------*/
  324.  
  325. #declare turn = composite { s1 rotate <-90 0 0>  }
  326.  
  327. /*--------------- 1/2 SECTION OF CAP ------------------------------*/
  328. #declare cap_a = object {
  329.    union {
  330.       quadric { Ellipsoid 
  331.      scale <7 2 7>
  332.      translate <0 1 0>
  333.       }
  334.       intersection { Disk_Y
  335.      scale <6 5 6>
  336.      translate <0 2 0>
  337.       }
  338.       quadric { Ellipsoid 
  339.      scale <8 3 8>
  340.      translate <0 8 0>
  341.       }
  342.       intersection { Disk_Y
  343.      scale <8 2 8>
  344.      translate <0 8 0>
  345.       }
  346.    }
  347.  
  348.    texture {
  349.       marble1
  350.       ambient 0.4
  351.       diffuse 1.0
  352.       scale <5 13 4>
  353.    }
  354.    texture {
  355.       marble4
  356.       diffuse 1.0
  357.       phong 0.6
  358.       phong_size 20
  359.       scale <5 7 3>
  360.       rotate <0 0 50>
  361.    }
  362.  
  363.    bounded_by {
  364.       intersection { Disk_Y
  365.      scale <8.5 11 8.5>
  366.      translate <0 -0.5 0>
  367.       }
  368.    }
  369. }
  370.  
  371. /*-------------- THE OTHER 1/2-----------------------------*/
  372. #declare cap_b = object {
  373.    union {
  374.       intersection { Disk_Y scale <1.2 8 1.2> translate <1 0 -4>  }
  375.       intersection { Disk_Y scale <1.2 8 1.2> translate <-1 0 -4> }
  376.  
  377.       intersection { Disk_Y scale <1.2 4 1.2> translate <-2 0 -4> }
  378.       intersection { Disk_Y scale <1.2 4 1.2> translate <2 0 -4>  }
  379.  
  380.       intersection { Cube scale <10 2 8> translate <0 10 2>       }
  381.       intersection { Cube scale <7 4 4> translate <0 4 0>  }
  382.       intersection { Disk_Z scale <4.5 4.5 8> translate <-6 4 -4> }
  383.       intersection { Disk_Z scale <4.5 4.5 8> translate <6 4 -4>  }
  384.    }
  385.  
  386.    texture {
  387.       marble1
  388.       ambient 0.4
  389.       diffuse 1.0
  390.       scale <5 13 4>
  391.    }
  392.    texture {
  393.       marble4
  394.       diffuse 1.0
  395.       phong 0.6
  396.       phong_size 20
  397.       scale <5 7 3>
  398.       rotate <0 0 50>
  399.    }
  400.  
  401.    bounded_by {
  402.       intersection { Cube
  403.      scale <10.5 7 10.5>
  404.      translate <0 7 0>
  405.       }
  406.    }
  407. }
  408.  
  409.  
  410. /*-----------2 HALFS & 2 TURNS MAKE A WHOLE ------------------------*/
  411. #declare capital = composite {
  412.    object { cap_a translate <0 0 0>  }
  413.    object { cap_b translate <0 10 0>  }
  414.    composite { turn translate <-6 14 -4>  }
  415.    composite { turn rotate <0 180 0> translate <6 14 -4>  }
  416.    bounded_by {
  417.       intersection { Cube
  418.      scale <11 13 11>
  419.      translate <0 13 0>
  420.       }
  421.    }
  422. }
  423.  
  424. /*--------------MAKE COLUMN-------------------*/
  425.  
  426.  
  427. /*-----------MOTIF TILE WORK--------------------*/
  428. #declare motif2 = object {
  429.    intersection { Disk_Y scale <6.5 8 6.5>  }
  430.    texture {
  431.       image_map {  <1.0 -1.0 0> gif "congo4.gif"  }
  432.       scale <13 8 1>
  433.       translate <-6.5 0 -1>
  434.       ambient 0.3
  435.       diffuse 0.9
  436.       phong 1.0
  437.    }
  438. }
  439.  
  440. #declare column_b = object {
  441.    intersection { Disk_Y
  442.       scale <6 54 6>
  443.    }
  444.    texture {  0.1
  445.       marble1
  446.       ambient 0.4
  447.       diffuse 0.8
  448.       scale <9 30 18>
  449.    }
  450.    texture {
  451.       marble2
  452.       scale <10 18 5>
  453.       rotate <0 0 -30>
  454.       diffuse 1.0
  455.    }
  456.    texture {
  457.       marble4
  458.       diffuse 0.9
  459.       phong 0.8
  460.       phong_size 45
  461.       scale <4 15 5>
  462.       rotate <0 0 50>
  463.    }
  464. }
  465.  
  466.  
  467. /*-----------THE COMPLETE BOTTOM COLUMN---------------------------------*/
  468. #declare bottom_column = composite {
  469.    composite { capital translate <0 58 0> }
  470.    object    { motif2 translate <0 50 0>  }
  471.    object    { column_b translate <0 0 0> }
  472.    bounded_by {
  473.       intersection { Disk_Y
  474.      scale <12 85 12>
  475.      translate <0 0 0>
  476.       }
  477.    }
  478. }
  479.  
  480. /*---------------------START LOWER WALLS-----------------------------*/
  481.  
  482. /*----------- ABOVE DOOR SECTION OF WALL -----------------------------*/
  483. #declare brick_wall = object {
  484.    intersection { Cube scale <30 6 3>
  485.    }
  486.  
  487.    texture {
  488.       marble1
  489.       ambient 0.2
  490.       diffuse 0.9
  491.       scale <20 30 4>
  492.    }
  493.    texture {
  494.       marble2
  495.       scale <20 9 5>
  496.       diffuse 1.0
  497.       rotate <0 0 -30>
  498.    }
  499.    texture {
  500.       marble4
  501.       phong 0.6
  502.       phong_size 25
  503.       scale <18 18 3>
  504.       rotate <0 0 50>
  505.    }
  506. }
  507.  
  508. /*-------------- ARCH SECTION OF WALL --------------------------------*/
  509. #declare top_wall = object {
  510.    difference {
  511.       intersection { Cube       scale <30 10 3> translate <0 0 0.01> }
  512.       quadric      { Cylinder_Z scale <13 13 1> translate <0 -10 0>  }
  513.    }
  514.  
  515.    texture {
  516.       marble1
  517.       ambient 0.2
  518.       diffuse 0.9
  519.       scale <30 20 4>
  520.    }
  521.    texture {
  522.       marble2
  523.       scale <26 16 5>
  524.       diffuse 1.0
  525.       rotate <0 0 -30>
  526.    }
  527.    texture {
  528.       marble4
  529.       phong 0.6
  530.       phong_size 25
  531.       scale <15 27 2>
  532.       rotate <0 0 50>
  533.    }
  534.    bounded_by {
  535.       intersection { Cube
  536.      scale <30 10 2>
  537.      translate <0 0 0>
  538.       }
  539.    }
  540. }
  541.  
  542.  
  543. /*------------------ TRIM ---------------------------------------------*/
  544. #declare molding_2 = object {
  545.    union {
  546.       difference {
  547.      intersection { Disk_Z     scale <16 16 12> translate <0 0 -6>  }
  548.      quadric {      Cylinder_Z scale <13 13 1>  }
  549.       }
  550.       intersection { Cube scale <10 2 6> translate <-21 -2 0>  }
  551.       intersection { Cube scale <10 2 6> translate <21 -2 0>  }
  552.       intersection { Cube scale <31 1 6> translate <0 17 0>  }
  553.    }
  554.  
  555.    texture {
  556.       marble1
  557.       ambient 0.5
  558.       diffuse 1.0
  559.       scale <15 3 4>
  560.    }
  561.    texture {
  562.       marble4
  563.       phong 0.8
  564.       phong_size 15
  565.       ambient 0.6
  566.       scale <15 7 6>
  567.       rotate <0 0 50>
  568.    }
  569.    bounded_by {
  570.       intersection { Cube
  571.      scale <31 13 4>
  572.      translate <0 9 0>
  573.       }
  574.    }
  575. }
  576.  
  577. #declare motif3 = object {
  578.    intersection { Cube scale <9.5 5 3.1>  }
  579.    texture {
  580.       image_map { <1.0 -1.0 0> gif "congo4.gif"  }
  581.       scale <19 10 1>
  582.       translate <-9.5 -5 -1>
  583.       ambient 0.3
  584.       diffuse 0.9
  585.       phong 1.0
  586.    }
  587. }
  588.  
  589. /*----------WALLS FLANKING DOOR WAY -----------------------------------*/
  590. #declare low_wall = object {
  591.    intersection { Cube scale <9 22 3>  }
  592.  
  593.    texture {
  594.       marble1
  595.       ambient 0.3
  596.       diffuse 0.9
  597.       scale <15 20 7>
  598.    }
  599.    texture {
  600.       marble2
  601.       scale <10 25 3>
  602.       diffuse 1.0
  603.       rotate <0 0 -30>
  604.    }
  605.    texture {
  606.       marble4
  607.       phong 0.8
  608.       phong_size 25
  609.       ambient 0.5
  610.       scale <8 16 3>
  611.       rotate <0 0 50>
  612.    }
  613. }
  614.  
  615. /*----------COMPOSITE THE WALL------------------------------*/
  616.  
  617. #declare wall = composite {
  618.    object { low_wall translate <-21 22 0>  }
  619.    object { low_wall translate <21 22 0>  }
  620.    object { motif3 translate <-21 42 0>  }
  621.    object { motif3 translate <21 42 0>  }
  622.    object { molding_2 translate <0 50 0>  }
  623.    object { top_wall translate <0 60 0>  }
  624.    object { brick_wall translate <0 74 0>  }
  625.    bounded_by {
  626.       intersection { Cube
  627.      scale <32 41 4>
  628.      translate <0 41 0>
  629.       }
  630.    }
  631. }
  632.  
  633.  
  634. /*--------CREATE INSIDE BACK WALL-----------------------*/
  635. object {
  636.    intersection { Cube scale <95 55 1>  }
  637.  
  638.    texture {
  639.       marble1
  640.       ambient 0.2
  641.       diffuse 0.9
  642.       scale <40 30 5>
  643.    }
  644.    texture {
  645.       marble2
  646.       scale <30 60 3>
  647.       rotate <0 0 -30>
  648.    }
  649.    texture {
  650.       marble4
  651.       phong 0.8
  652.       phong_size 25
  653.       scale <30 20 3>
  654.       rotate <0 0 50>
  655.    }
  656.    translate <0 15 10>
  657. }
  658.  
  659.  
  660. /*----------*** PUT UP THE WALLS ****--------------------*/
  661.  
  662. composite { top_column  rotate <0 10 0>  scale <1.9 1.9 1.9> translate <-30 94 -25> }
  663. composite { top_floor   translate <-10 80 0> }
  664.    composite { bottom_column scale <1.3 1 1.3> translate <-100 0 -40>  }
  665.    composite { bottom_column scale <1.3 1 1.3> translate <-30 0 -40>  }
  666.    composite { bottom_column scale <1.3 1 1.3> translate <40 0 -40>     }
  667.    composite { wall translate <5 0 -32>    }
  668.    composite { wall translate <-65 0 -32>  }
  669.  
  670.  
  671.    /*---------------------BACKDROP---------------------------------*/
  672.    object {
  673.       intersection { Cube
  674.      scale <2000 1500 1>
  675.       }
  676.  
  677.       texture {
  678.      color Maroon
  679.      // image_map {  <1.0 -1.0 0> gif "sky1.gif"  }    // Optional sky map
  680.      // scale <4000 3000 2> translate <-2000 -1500 -2>
  681.      ambient 0.2
  682.      diffuse 0.6
  683.       }
  684.  
  685.  
  686.       texture {
  687.      gradient <0 1 0>
  688.      color_map {
  689.         [0.0 0.3 color Salmon color BlueViolet alpha 0.3]
  690.         [0.3 1.0 color BlueViolet alpha 0.3 color Black alpha 0.2]
  691.      }
  692.      scale <4000 3000 1>
  693.      translate <0 -1500 0>
  694.      ambient 1.0
  695.      diffuse 0.0
  696.       }
  697.       scale <1 1 1>
  698.       translate <0 0 2000>
  699.    }
  700.  
  701.  
  702.  
  703.  
  704.    /*------------------- CREATURE & MOTHER-IN-LAW -------------------------*/
  705.  
  706.    composite { panther
  707.       rotate <0 -20 0>
  708.       scale <1.2 1.2 1.2>
  709.       translate <-70 89.5 -10>
  710.    }
  711.  
  712.    composite { lizard
  713.       scale <1 0.9 1>
  714.       rotate <0 0 -10>
  715.       translate <-33 16 -20>
  716.    }
  717.  
  718. #declare snake = composite {
  719.       composite { top  }
  720.       composite { head 
  721.      scale <1.9 1.6 1.6>
  722.      rotate <0 -90 -90>
  723.      translate <23 0 -13>
  724.       }
  725.       rotate <-90 -180 -90>
  726.    }
  727.  
  728.    composite { snake  translate <-4 87 -68>  }
  729.    // end-of-file
  730.