home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 1 / FishNMoreVol1.bin / more / graphics / applications / qrtv1.5 / inputs / mirrors.qrt < prev    next >
Text File  |  1989-03-11  |  4KB  |  179 lines

  1. {**************************************************
  2.  
  3.     QRT source for mirrored surface demo.
  4.     Demonstrates arbitrary reflection
  5.     characteristics.
  6.  
  7.     - Steve Koren   11 Jun 88
  8.  
  9.  **************************************************}
  10.  
  11.  
  12. FILE_NAME = Mirror.RAW
  13.  
  14. { *********   Some pattern definitions ********** }
  15.  
  16. PATTERN ( x_size = 60,                 { ** Checkered pattern ** }
  17.           y_size = 60,
  18.           name   = CHECK,
  19.           RECTANGLE (
  20.             start_x = 0,
  21.             start_y = 0,
  22.             end_x   = 30,
  23.             end_y   = 30,
  24.             diff    = (.1,1.0,.1),
  25.           )
  26.           RECTANGLE (
  27.             start_x = 30,
  28.             start_y = 30,
  29.             end_x   = 60,
  30.             end_y   = 60,
  31.             diff    = (.1,1.0,.1),
  32.           )
  33.         )
  34.  
  35. PATTERN ( x_size = 60,                 { ** Checkered pattern ** }
  36.           y_size = 60,                 { ** mirrored surfaces ** }
  37.           name   = MIRROR_CHECK,       { ** (red)             ** }
  38.           RECTANGLE (
  39.             start_x = 0,
  40.             start_y = 0,
  41.             end_x   = 30,
  42.             end_y   = 30,
  43.             diff    = (.2,.1,.1),
  44.             mirror  = (.7,.2,.2)
  45.           )
  46.           RECTANGLE (
  47.             start_x = 30,
  48.             start_y = 30,
  49.             end_x   = 60,
  50.             end_y   = 60,
  51.             diff    = (.2,.1,.1),
  52.             mirror  = (.7,.2,.2)
  53.           )
  54.         )
  55.  
  56. PATTERN ( name   = MIRROR_STRIPE_V     { ** blue striped mirror ** }
  57.           x_size = 60
  58.           y_size = 60
  59.           RECTANGLE (
  60.             start_x = 0
  61.             start_y = 0
  62.             end_x   = 30
  63.             end_y   = 60
  64.             diff    = (.1, .1, .2)
  65.             mirror  = (.2, .2, .9)
  66.           )
  67.         )
  68.  
  69. PATTERN ( name   = MIRROR_STRIPE_H     { ** striped mirror ** }
  70.           x_size = 60
  71.           y_size = 60
  72.           RECTANGLE (
  73.             start_x = 0
  74.             start_y = 0
  75.             end_x   = 60
  76.             end_y   = 30
  77.             diff    = (.1, .1, .1)
  78.             mirror  = (.45, .45, .45)
  79.           )
  80.         )
  81.  
  82. { *********************  OBJECTS  ********************* }
  83.  
  84. { ** ground (standard checkered type) ** }
  85.  
  86. PARALLELOGRAM ( loc  = (  -10000, 0,  -10000),  { ** big! ** }
  87.                 v1   = (20000, 0,    0),
  88.                 v2   = (  0, 0, 20000),
  89.  
  90.                 diff = (  .8, .8, 0),
  91.                 pattern = CHECK
  92.                 xmult = 2
  93.                 ymult = 2
  94.               )
  95.  
  96. { ** 3 balls (red, green, blue)  - all are shiny ** }
  97.  
  98. BEGIN_BBOX
  99.  
  100.     SPHERE ( loc     = (150, 25, 0)
  101.              radius  = 20
  102.              diff    = (.9, .1, .1)  { ** red ** }
  103.              amb     = (.4, .4, .4)
  104.              reflect = .60
  105.              sreflect= 20
  106.            )
  107.  
  108.     SPHERE ( loc     = (150, 75, 0)
  109.              radius  = 20
  110.              diff    = (.1, .9, .1)  { ** green ** }
  111.              amb     = (.4, .4, .4)
  112.              reflect = .60
  113.              sreflect= 20
  114.            )
  115.  
  116.     SPHERE ( loc     = (150, 125, 0)
  117.              radius  = 20
  118.              diff    = (.3, .3, .9)  { ** blue ** }
  119.              amb     = (.4, .4, .4)
  120.              reflect = .60
  121.              sreflect= 20
  122.            )
  123.  
  124. END_BBOX
  125.  
  126. { ** mirrored parallelograms ** }
  127.  
  128. PARALLELOGRAM ( loc  = (150,  0,  100)
  129.                 v1   = (100,  0, -100)
  130.                 v2   = (0,  180,    0)
  131.  
  132.                 diff   = (.1, .1, .1)
  133.                 mirror = (.7, .7, .7)
  134.                 pattern= MIRROR_CHECK
  135.               )
  136.  
  137. PARALLELOGRAM ( loc  = (250, 0, -40)
  138.                 v1   = (-100, 0, -100)
  139.                 v2   = (0,  180,  0)
  140.  
  141.                 diff   = (.1, .1, .1)
  142.                 mirror = (.8, .8, .8)
  143.                 pattern= MIRROR_STRIPE_H
  144.                 xmult  = .5
  145.                 ymult  = .5
  146.               )
  147.  
  148. { ** An observer ** }
  149.  
  150. OBSERVER ( loc    = (-20, 85 -40)
  151.            lookat = (200, 50, -15)
  152.          )
  153.  
  154. { ** Lights (but not Bud lights) ** }
  155.  
  156. LAMP ( loc = (20, 140, 20),
  157.        radius = 5,
  158.        dist = 140
  159.      )
  160.  
  161. LAMP ( loc = (240, 75, -5),
  162.        radius = 5,
  163.        dist = 70
  164.      )
  165.  
  166. SKY  ( horiz  = (.3, .3, .75),
  167.        zenith = (.1, .1, .50),
  168.        dither = 4
  169.      )
  170.  
  171. DEFAULT ( x_res = 320
  172.           y_res = 400
  173.           aspect= .56
  174.         )
  175.  
  176. FOC_LENGTH = 55
  177.  
  178.  
  179.