home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Graphics / Graphics.zip / DKBOS2.ZOO / dkb212dt.zoo / pool.dat < prev    next >
Text File  |  1991-04-12  |  9KB  |  311 lines

  1. { DKB Script for a lawn with a swimming pool.
  2.   Written by Dan Farmer.  Takes quite a while to render because of
  3.   the many textures and waveforms used.  An interesting variation of this
  4.   theme would be to change the VIEW to look into the garden globe and see
  5.   the rest of the scene as the reflection in the globe.
  6.  
  7.   As stated below, most of the garden globe structure was taken from the
  8.   file "ROMAN.DAT" that was included with DKBDAT.
  9. }
  10.  
  11. INCLUDE "colors.dat"
  12. INCLUDE "shapes.dat"
  13. INCLUDE "textures.dat"
  14.  
  15. DECLARE Cube = INTERSECTION  { this is a good one to add to basicsha.dat }
  16.         PLANE <0.0 0.0 1.0> 1.0 END_PLANE
  17.         PLANE <0.0 0.0 -1.0> 1.0 END_PLANE
  18.         PLANE <0.0 1.0 0.0> 1.0 END_PLANE
  19.         PLANE <0.0 -1.0 0.0> 1.0 END_PLANE
  20.         PLANE <1.0 0.0 0.0> 1.0 END_PLANE
  21.         PLANE <-1.0 0.0 0.0> 1.0 END_PLANE
  22.         SCALE <1.0 1.0 1.0>
  23. END_INTERSECTION
  24.  
  25. { Most of the garden globe is borrowed from "ROMAN.DAT"}
  26. {******************************************************}
  27.     DECLARE Beam = QUADRIC Cylinder_Y
  28.         SCALE <0.5 20.0 0.5>
  29.         TRANSLATE <2.0 0.0 0.0>
  30.     END_QUADRIC
  31.  
  32.     { create a sample column for the base of the structure }
  33.     DECLARE BaseColumn = OBJECT
  34.        INTERSECTION
  35.           UNION
  36.              QUADRIC Beam END_QUADRIC
  37.              QUADRIC Beam ROTATE <0.0 -25.7  0.0> END_QUADRIC
  38.              QUADRIC Beam ROTATE <0.0 -51.4  0.0> END_QUADRIC
  39.              QUADRIC Beam ROTATE <0.0 -77.1  0.0> END_QUADRIC
  40.              QUADRIC Beam ROTATE <0.0 -102.8 0.0> END_QUADRIC
  41.              QUADRIC Beam ROTATE <0.0 -128.5 0.0> END_QUADRIC
  42.              QUADRIC Beam ROTATE <0.0 -154.2 0.0> END_QUADRIC
  43.              QUADRIC Beam ROTATE <0.0 -179.9 0.0> END_QUADRIC
  44.              QUADRIC Beam ROTATE <0.0 -205.6 0.0> END_QUADRIC
  45.              QUADRIC Beam ROTATE <0.0 -231.3 0.0> END_QUADRIC
  46.              QUADRIC Beam ROTATE <0.0 -257.0 0.0> END_QUADRIC
  47.              QUADRIC Beam ROTATE <0.0 -282.7 0.0> END_QUADRIC
  48.              QUADRIC Beam ROTATE <0.0 -308.4 0.0> END_QUADRIC
  49.              QUADRIC Beam ROTATE <0.0 -334.1 0.0> END_QUADRIC
  50.          END_UNION
  51.          PLANE <0.0 1.0 0.0> 20.0 END_PLANE
  52.          PLANE <0.0 -1.0 0.0> 0.0 END_PLANE
  53.        END_INTERSECTION
  54.        BOUNDED_BY
  55.          INTERSECTION
  56.             PLANE <0.0 1.0 0.0> 20.0 END_PLANE
  57.             PLANE <0.0 -1.0 0.0> 0.0 END_PLANE
  58.              QUADRIC
  59.                 Cylinder_Y
  60.                 SCALE <2.51 1.0 2.51>
  61.              END_QUADRIC
  62.          END_INTERSECTION
  63.        END_BOUND
  64.        TEXTURE
  65.          White_Marble
  66.      SCALE <10.0 10.0 10.0>
  67.          AMBIENT 0.4
  68.          DIFFUSE 0.9
  69.          REFLECTION 0.1
  70.        END_TEXTURE
  71.        COLOUR RED 0.8 GREEN 0.0 BLUE 0.0
  72.     END_OBJECT
  73.  
  74.     { and a rectangular pad to serve as a footing for the column }
  75.     DECLARE BasePad = OBJECT
  76.        INTERSECTION Cube
  77.            SCALE <4.0 1.0 4.0>
  78.        END_INTERSECTION
  79.        BOUNDED_BY
  80.           QUADRIC
  81.              Sphere
  82.              SCALE <10.0 3.0 10.0>
  83.           END_QUADRIC
  84.        END_BOUND
  85.        TEXTURE
  86.          White_Marble
  87.      SCALE <10.0 10.0 10.0>
  88.          AMBIENT 0.4
  89.          DIFFUSE 0.9
  90.          REFLECTION 0.1
  91.        END_TEXTURE
  92.        COLOUR RED 0.6 GREEN 0.6 BLUE 0.4
  93.     END_OBJECT
  94.  
  95.     DECLARE Globe = OBJECT
  96.         SPHERE <0.0 0.0 0.0> 5.0 END_SPHERE
  97.         TEXTURE
  98.           Mirror
  99.       COLOR Blue
  100.         END_TEXTURE
  101.     COLOR Blue
  102.     END_OBJECT
  103.  
  104.     DECLARE Garden_Globe = COMPOSITE
  105.        OBJECT BaseColumn TRANSLATE <0.0 0.0 0.0>   END_OBJECT
  106.        OBJECT BasePad    TRANSLATE <0.0 -1.0 0.0>  END_OBJECT
  107.        OBJECT BasePad    TRANSLATE <0.0 21.0 0.0>  END_OBJECT
  108.        OBJECT Globe      TRANSLATE<0.0 26.0 0.0> END_OBJECT
  109.     END_COMPOSITE
  110. {******************** End of Garden Globe Epic ******************************}
  111.  
  112. { Everybody's gotta have a point of view. }
  113. VIEW_POINT
  114.    LOCATION <0.0  30.0  -120.0>
  115.    DIRECTION <0.0 0.0  1.0>
  116.    UP  <0.0  1.0  0.0>
  117.    RIGHT <1.33333 0.0 0.0>
  118.    LOOK_AT <0.0 0.0 0.0>
  119. END_VIEW_POINT
  120.  
  121. { No, fool... I said _BUD_ light! }
  122. OBJECT  
  123.    SPHERE <0.0  0.0  0.0>  2.0 END_SPHERE
  124.    TRANSLATE <100.0  200.0  -200.0>
  125.    TEXTURE
  126.      COLOUR White
  127.      AMBIENT 1.0
  128.      DIFFUSE 0.0
  129.    END_TEXTURE
  130.    LIGHT_SOURCE
  131.    COLOUR White
  132. END_OBJECT
  133.  
  134. { "The sky was the color of her eyes" }
  135. {             ... and just as cloudy! }
  136. OBJECT
  137.   SPHERE <0.0 -10000.0 -200.0> 15000.0 END_SPHERE
  138.   TEXTURE
  139.       0.05
  140.       Cloud_Sky
  141.       SCALE <7500.0 1000.0 5000.0>
  142.       AMBIENT 0.7
  143.       DIFFUSE 0.0
  144.   END_TEXTURE
  145.   COLOUR RED 0.5 GREEN 0.5 BLUE 1.0
  146. END_OBJECT
  147.  
  148. { Plant a little grass, well mowed. }
  149. OBJECT
  150.     PLANE <0.0 1.0 0.0> 0.0 END_PLANE
  151.     TEXTURE
  152.         0.05  { This value dithers the colours }
  153.     COLOR Green
  154.         RIPPLES 0.5
  155.         FREQUENCY 2000.0
  156.         SCALE <50000.0 50000.0 50000.0>
  157.     END_TEXTURE
  158.     COLOR Green
  159. END_OBJECT
  160.  
  161. { Now, we pour the concrete and set the tiles...}
  162. OBJECT
  163.     DIFFERENCE
  164.         INTERSECTION Cube
  165.             SCALE <45.0 10.0 60.0>
  166.         END_INTERSECTION
  167.         INTERSECTION Cube { Inside box }
  168.             SCALE <35.0 11.0 50.0>
  169.         END_INTERSECTION
  170.     END_DIFFERENCE
  171.     TRANSLATE <0.0 -8.0 0.0 >
  172.     TEXTURE
  173.         CHECKER COLOUR DarkTurquoise COLOUR White
  174.         SCALE <2.0 2.0 2.0>
  175.     END_TEXTURE
  176.     COLOR DarkTurquoise
  177. END_OBJECT
  178.  
  179.  { Better put some water in the pool! }
  180. OBJECT
  181.     INTERSECTION Cube
  182.         SCALE <35.0 10.0 50.0>
  183.         TRANSLATE<0.0 -9.0 0.0>
  184.     END_INTERSECTION
  185.     TEXTURE
  186.         0.05
  187.     COLOR LightBlue               {ALPHA 0.5 ?}
  188.         RIPPLES 0.5
  189.         FREQUENCY 100.0
  190.         SCALE <5.0 5.0 10.0>
  191.         TRANSLATE <20.0 4.0 -15.0>    { Where the ball floats?? }
  192.     REFLECTION 0.5
  193.     BRILLIANCE 3.0
  194. {??     REFRACTION 1.0        { Doesn't really help the scene any... }
  195.         IOR 1.2 ?? }
  196.     END_TEXTURE
  197.     COLOR LightBlue
  198. END_OBJECT
  199.  
  200. { Let's add a diving board }
  201. OBJECT
  202.     UNION
  203.         INTERSECTION Cube                        { The board itself }
  204.             SCALE <6.0 1.0 30.0 >
  205.             TRANSLATE <0.0 2.0 -30.0>
  206.         END_INTERSECTION
  207.         INTERSECTION Cube                        { A block under the board }
  208.             SCALE <6.0 2.0 2.0 >
  209.             TRANSLATE <0.0 1.0 -30.0>
  210.         END_INTERSECTION
  211.     END_UNION
  212.     TEXTURE
  213.         Cherry_Wood
  214.     0.05
  215.     SCALE <0.02 0.02 0.02>
  216.     END_TEXTURE
  217.     COLOR Brown
  218. END_OBJECT
  219.  
  220. { Float a red and white striped ball in the pool }
  221. OBJECT
  222.     SPHERE <0.0 0.0 0.0> 5.0 END_SPHERE
  223.     TRANSLATE <20.0 4.0 -15.0>    { Sorta right front center of pool }
  224.     TEXTURE
  225.        GRADIENT < 1.0 1.0 0.0 >
  226.        COLOUR_MAP
  227.             [0.00 0.25  COLOUR White COLOUR White ]
  228.             [0.25 0.75  COLOUR RED 1.0  COLOUR RED 1.0]
  229.             [0.75 1.001 COLOUR White COLOUR White ]
  230.        END_COLOUR_MAP
  231.        SCALE <7.0 7.0 7.0>
  232.        ROTATE <-30.0 30.0 0.0>
  233.        AMBIENT 0.3
  234.        DIFFUSE 0.7
  235.        PHONG 0.5
  236.        PHONGSIZE 10.0
  237.     END_TEXTURE
  238.     COLOR Red
  239. END_OBJECT
  240.  
  241. { Place the garden globe on left side of pool }
  242. COMPOSITE Garden_Globe TRANSLATE <-60.0 0.0 0.0> END_COMPOSITE
  243.  
  244. { The hedge behind the pool }
  245. OBJECT
  246. INTERSECTION Cube END_INTERSECTION
  247.     SCALE <200.0 30.0 30.0>
  248.     TRANSLATE <-100.0 0.0 180.0>
  249.     TEXTURE
  250.         0.05  { This value dithers the colours }
  251.     COLOR YellowGreen
  252.         TURBULENCE 0.5
  253.         SPOTTED 0.5
  254.         COLOUR_MAP
  255.              [0.00 0.25  COLOUR YellowGreen COLOUR Green ]
  256.              [0.25 0.75  COLOUR Green COLOUR DarkGreen]
  257.              [0.75 1.001 COLOUR DarkGreen COLOUR YellowGreen ]
  258.         END_COLOUR_MAP
  259.         WRINKLES 1.0
  260.         FREQUENCY 2000.0
  261.         SCALE <10.0 10.0 20.0>
  262.     END_TEXTURE
  263.     COLOR YellowGreen
  264. END_OBJECT
  265.  
  266. { The hedge on the right side of pool }
  267. OBJECT
  268. INTERSECTION Cube END_INTERSECTION
  269.     SCALE <30.0 30.0 100.0>
  270.     TRANSLATE <100.0 0.0 -85.0>
  271.     TEXTURE
  272.         0.05  { This value dithers the colours }
  273.     COLOR YellowGreen
  274.         TURBULENCE 0.5
  275.         SPOTTED 0.5
  276.         COLOUR_MAP
  277.              [0.00 0.25  COLOUR YellowGreen COLOUR Green ]
  278.              [0.25 0.75  COLOUR Green COLOUR DarkGreen]
  279.              [0.75 1.001 COLOUR DarkGreen COLOUR YellowGreen ]
  280.     END_COLOUR_MAP
  281.         WRINKLES 1.0
  282.         FREQUENCY 2000.0
  283.         SCALE <10.0 10.0 20.0>
  284.     END_TEXTURE
  285.     COLOR YellowGreen
  286. END_OBJECT
  287.  
  288. { A low, squat shrub of some generic species }
  289. OBJECT
  290. QUADRIC Sphere END_QUADRIC
  291.     SCALE <30.0 20.0 25.0>
  292.     TRANSLATE <-70.0 0.0 110.0>
  293.     TEXTURE
  294.         0.05  { This value dithers the colours }
  295.     COLOR YellowGreen
  296.         TURBULENCE 0.5
  297.         SPOTTED 1.0
  298.         COLOUR_MAP
  299.              [0.00 0.25  COLOUR Khaki COLOUR Green ]
  300.              [0.25 0.50  COLOUR Green COLOUR DarkGreen]
  301.              [0.50 0.75  COLOUR DarkGreen COLOUR MediumForestGreen]
  302.              [0.75 1.001 COLOUR MediumForestGreen COLOUR YellowGreen ]
  303.         END_COLOUR_MAP
  304.         WRINKLES 1.0
  305.         FREQUENCY 2000.0
  306.         SCALE <5.0 5.0 5.0>
  307.     END_TEXTURE
  308.     COLOR YellowGreen
  309. END_OBJECT
  310.  
  311.