home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Raytrace & Morphing / SOS-RAYTRACE.ISO / programm / raytrace / qrtpro / anim.qrt next >
Encoding:
Text File  |  1993-09-05  |  4.4 KB  |  182 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 = ANIM.TGA
  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.              mirror = (.3, .6, .5)
  107.            )
  108.  
  109.     SPHERE ( loc     = (150, 75, 0)
  110.              radius  = 20
  111.              diff    = (.1, .59, .1)  { ** green ** }
  112.              amb     = (.4, .4, .4)
  113.              reflect = .60
  114.              sreflect= 20
  115.              mirror = (.5, .2, .8)
  116.            )
  117.  
  118.     SPHERE ( loc     = (150, 125, 0)
  119.              radius  = 20
  120.              diff    = (.3, .3, .9)  { ** blue ** }
  121.              amb     = (.4, .4, .4)
  122.              reflect = .60
  123.              sreflect= 20
  124.              mirror = (.3, .7, .9)
  125.            )
  126.  
  127. END_BBOX
  128.  
  129. { ** mirrored parallelograms ** }
  130.  
  131. PARALLELOGRAM ( loc  = (150,  0,  100)
  132.                 v1   = (100,  0, -100)
  133.                 v2   = (0,  180,    0)
  134.  
  135.                 diff   = (.1, .1, .1)
  136.                 mirror = (.7, .7, .7)
  137.                 pattern= MIRROR_CHECK
  138.               )
  139.  
  140. PARALLELOGRAM ( loc  = (250, 0, -40)
  141.                 v1   = (-100, 0, -100)
  142.                 v2   = (0,  180,  0)
  143.  
  144.                 diff   = (.1, .1, .1)
  145.                 mirror = (.8, .8, .8)
  146.                 pattern= MIRROR_STRIPE_H
  147.                 xmult  = .5
  148.                 ymult  = .5
  149.               )
  150.  
  151. { ** An observer ** }
  152.  
  153. OBSERVER ( loc    = (-20, 85 -40)
  154.            lookat = (200, 50, -15)
  155.          )
  156.  
  157. { ** Lights (but not Bud lights) ** }
  158.  
  159. LAMP ( loc = (20, 140, 20),
  160.        radius = 5,
  161.        dist = 140
  162.      )
  163.  
  164. LAMP ( loc = (240, 75, -5),
  165.        radius = 5,
  166.        dist = 70
  167.      )
  168.  
  169. SKY  ( horiz  = (.3, .3, .75),
  170.        zenith = (.1, .1, .50),
  171.        dither = 4
  172.      )
  173.  
  174. DEFAULT ( x_res = 320
  175.           y_res = 200
  176.           aspect= 0.625
  177.         )
  178.  
  179. FOC_LENGTH = 55
  180.  
  181.  
  182.