home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 1B / DATAFILE_PDCD1B.iso / _raytrace / ray / qrt / QRT_info / Language < prev    next >
Text File  |  1989-05-23  |  23KB  |  908 lines

  1.                             QRT Language Reference
  2.  
  3. INTRODUCTION
  4.  
  5.  This document is a reference guide to the QRT command language. One section
  6. is devoted to each QRT command. All parameters to commands are listed.
  7.  
  8.  More information on QRT can be found in the User's Manual and Technical
  9. Reference Manual.
  10.  
  11.  The following table shows the syntax used in this document:
  12.  
  13.  TEXT    MEANING            EXAMPLE          RANGE
  14.  
  15.  (x,y,z) floating pt vector (10, -20, 30.56) all
  16.  
  17.  (r,g,b) color value triple (0, .5, 1.00)    0 to 1
  18.  
  19.  i       an integer         12               0 to 127
  20.  
  21.  n       floating pt number -123.4           all
  22.  
  23.  p       positive float     123.4            >0
  24.  
  25.  string  text string        FOO_BAR          ASCII
  26.  
  27.  Each section of this document contains one or more of the following
  28. sub-sections:
  29.  
  30.  Command Type : OPTIONAL or REQUIRED
  31.  
  32.  Parameters (required) : Lists required parameters
  33.  Parameters (optional) : Lists optional parameters
  34.  
  35.  Optional Forms : Alternatives for parameter names. Ex: 'horiz' = 'horizon'
  36. means either can be used as a parameter name.
  37.  
  38.  Example : An example of the command (with all required parameters, but not
  39. necessarily all optional ones.
  40.  
  41.  Restrictions : Things not to do
  42.  
  43.  See also : Similar commands
  44.  
  45.  QRT has a free format input language, and parameters can be given in any
  46. order.
  47.  
  48. QRT Misc. Setup Commands
  49.  
  50.  
  51. SKY:
  52.  
  53.  Command type: OPTIONAL
  54.  
  55.  The SKY command is used to specify the color of all rays that don't hit any
  56. other object. The sky is black by default. The sky color at the zenith (up),
  57. and horizon can be specified, and QRT will blend the colors in between as
  58. smoothly as possible. In addition, dithering can be specified.
  59.  
  60.  Parameters (optional):
  61.  
  62.  zenith = (r,g,b) : the color of the zenith
  63.  horiz  = (r,g,b) : the color at the horizon
  64.  dither = i       : dithering
  65.  
  66.  Optional forms:
  67.  
  68.  'horiz' = 'horizon'
  69.  
  70.  Example:
  71.  
  72.  SKY ( horiz  = (0, 0, .6),
  73.        zenith = (0, 0, .4),
  74.        dither = 5
  75.      )
  76.  
  77.  See also : GROUND
  78.  
  79.  
  80. GROUND:
  81.  
  82.  Command type: OPTIONAL
  83.  
  84.  QRT does not have a specific ground command. Instead, use a large
  85. parallelogram with an optional pattern.
  86.  
  87.  PARALLELOGRAM ( loc = (-10000, 0, -10000),
  88.                  v1  = ( 20000, 0, 0),
  89.                  v2  = ( 0, 0, 20000),
  90.  
  91.                  pattern = PATTERN_OF_CHOICE
  92.                )
  93.  
  94.  It is also possible to use a VERY large sphere for the ground, which moves
  95. the horizon closer to the observer. This is advisable when rendering tall,
  96. reflecting objects.
  97.  
  98.  See also : PARALLELOGRAM, SPHERE
  99.  
  100.  
  101. FOC_LENGTH:
  102.  
  103.  Command type: OPTIONAL
  104.  
  105.  This sets the focal length of QRT's "camera". The default is 50, but it can
  106. be changed with this command. As with 35mm photography, larger numbers
  107. result in a 'telephoto' effect, and smaller numbers will result in wide
  108. angle (and distorted) views. As of QRT 1.5, focal length is no longer
  109. resolution dependent.
  110.  
  111.  Example:
  112.  
  113.  FOC_LENGTH = 70
  114.  
  115.  Restrictions:
  116.  
  117.  0 < FOC_LENGTH
  118.  
  119.  
  120. FIRST_SCAN:
  121.  
  122.  Command type: OPTIONAL
  123.  
  124.  This command is obsolete with QRT version 1.5. Use the X_RES
  125.  and Y_RES options to the DEFAULT() command.
  126.  
  127.  See also : DEFAULT
  128.  
  129.  
  130. LAST_SCAN:
  131.  
  132.  Command type: OPTIONAL
  133.  
  134.  This command is also obsolete with QRT 1.5.
  135.  
  136.  See also : DEFAULT
  137.  
  138.  
  139. FILE_NAME:
  140.  
  141.  Command type: REQUIRED
  142.  
  143.  This is used to set the output file for QRT, which will be read by the post
  144. processor. The file name will be mapped to upper case. Some restrictions may
  145. arise from file naming conventions on specific computers.
  146.  
  147.  Example:
  148.  
  149.  FILE_NAME = QRT_IMAGE.RAW
  150.  
  151.  
  152. OBSERVER:
  153.  
  154.  Command type: REQUIRED
  155.  
  156.  OBSERVER tells QRT where the observer is located, and his direction of
  157. view. The view direction is specified by giving the coordinates he should
  158. look at. In addition, the observer UP vector may be given. This is, by
  159. default, (0,1,0).
  160.  
  161.  Parameters (required):
  162.  
  163.  loc    = (x,y,z) : location of observer
  164.  lookat = (x,y,z) : point of interest
  165.  
  166.  Parameters (optional):
  167.  
  168.  up = (x,y,z) : up vector
  169.  
  170.  Optional forms:
  171.  
  172.  'loc' = 'pos' = 'location' = 'position'
  173.  
  174.  Example:
  175.  
  176.  OBSERVER ( loc    = (0, 0, 0),
  177.             lookat = (100, 0, 0)
  178.           )
  179.  
  180.  Restrictions:
  181.  
  182.  The observer cannot look in the direction of the up vector.
  183.  'lookat' cannot be equal to 'loc'.
  184.  'up' must have non-zero length.
  185.  
  186.  
  187. LAMP:
  188.  
  189.  Command type: OPTIONAL
  190.  
  191.  Lamps are sources of light in QRT. They can be placed anywhere, and emit
  192. any color and intensity of light. The ambient light value is the color of
  193. the lamp. The distance parameter is the minimum distance from the lamp that
  194. objects will be illuminated at full intensity. Most objects should be
  195. farther from the lamp than this value, or else they will be washed out. The
  196. radius parameter is ignored by this version of QRT, but may eventually be
  197. used to implement penumbral shadows.
  198.  
  199.  Parameters (required):
  200.  
  201.  loc  = (x,y,z) : location of object
  202.  dist = p       : distance of max illumination
  203.  
  204.  Parameters (optional):
  205.  
  206.  amb    = (r,g,b) : ambient light
  207.  radius = p       : radius
  208.  
  209.  Optional forms:
  210.  
  211.  'loc' = 'pos' = 'location' = 'position'
  212.  
  213.  Example:
  214.  
  215.  LAMP ( loc    = (12,34,56),
  216.         radius = 123.4,
  217.       )
  218.  
  219.  
  220. QRT Primitive Types
  221.  
  222.  
  223. SPHERE:
  224.  
  225.  Command type: OPTIONAL
  226.  
  227.  SPHERE creates a sphere with a given location, radius, and surface
  228. characteristics.
  229.  
  230.  Parameters (required):
  231.  
  232.  loc    = (x,y,z) : location of object
  233.  radius = p       : radius
  234.  
  235.  Parameters (optional):
  236.  
  237.  name     = string  : name for object
  238.  pattern  = string  : pattern name to attach
  239.  remove   = string  : pattern to cut out
  240.  amb      = (r,g,b) : ambient light
  241.  diff     = (r,g,b) : diffuse reflection
  242.  trans    = (r,g,b) : transmission
  243.  density  = (r,g,b) : light attenuation
  244.  mirror   = (r,g,b) : mirror reflection
  245.  fuzz     = i       : currently unused
  246.  index    = p       : index of refraction
  247.  dither   = i       : dithering
  248.  sreflect = p       : Phong specular refl. coeff.
  249.  reflect  = p       : percent specular reflection
  250.  
  251.  Optional forms:
  252.  
  253.  'loc' = 'pos' = 'location' = 'position'
  254.  
  255.  Example:
  256.  
  257.  SPHERE ( loc = (100, 100, 50.234),
  258.           radius = 123.4,
  259.           diff = (1.00, .20, .20)
  260.         )
  261.  
  262.  
  263. PARALLELOGRAM:
  264.  
  265.  Command type: OPTIONAL
  266.  
  267.  This command creates a parallelogram with a given location, shape, and
  268. surface characteristics. Two vectors define the shape of the parallelogram
  269. (they need not be orthogonal).
  270.  
  271.  Parameters (required):
  272.  
  273.  loc = (x,y,z) : location of object
  274.  v1  = (x,y,z) : vector for side one
  275.  v2  = (x,y,z) : vector for side two
  276.  
  277.  Parameters (optional):
  278.  
  279.  name     = string  : name for object
  280.  pattern  = string  : pattern name to attach
  281.  remove   = string  : pattern to cut out
  282.  amb      = (r,g,b) : ambient light
  283.  diff     = (r,g,b) : diffuse reflection
  284.  trans    = (r,g,b) : transmission
  285.  density  = (r,g,b) : light attenuation
  286.  mirror   = (r,g,b) : mirror reflection
  287.  fuzz     = i       : currently unused
  288.  index    = p       : index of refraction
  289.  dither   = i       : dithering
  290.  sreflect = p       : Phong specular refl. coeff.
  291.  reflect  = p       : percent specular reflection
  292.  
  293.  Optional forms:
  294.  
  295.  'loc' = 'pos' = 'location' = 'position'
  296.  'vect1' = 'v1'
  297.  'vect2' = 'v2'
  298.  
  299.  Example:
  300.  
  301.  PARALLELOGRAM ( loc = (10, 20, 50),
  302.                  vect1 = (20, 0, 0),
  303.                  vect2 = ( 0, 0, 50),
  304.                  diff = (0, .90, .20)
  305.                )
  306.  
  307.  
  308. TRIANGLE:
  309.  
  310.  Command type: OPTIONAL
  311.  
  312.  The TRIANGLE command (similar to PARALLELOGRAM) creates a triangle shape.
  313. Two vectors define the sides of the triangle.
  314.  
  315.  Parameters (required):
  316.  
  317.  loc = (x,y,z) : location of object
  318.  v1  = (x,y,z) : vector for side one
  319.  v2  = (x,y,z) : vector for side two
  320.  
  321.  Parameters (optional):
  322.  
  323.  name     = string  : name for object
  324.  pattern  = string  : pattern name to attach
  325.  remove   = string  : pattern to cut out
  326.  amb      = (r,g,b) : ambient light
  327.  diff     = (r,g,b) : diffuse reflection
  328.  trans    = (r,g,b) : transmission
  329.  density  = (r,g,b) : light attenuation
  330.  mirror   = (r,g,b) : mirror reflection
  331.  fuzz     = i       : currently unused
  332.  index    = p       : index of refraction
  333.  dither   = i       : dithering
  334.  sreflect = p       : Phong specular refl. coeff.
  335.  reflect  = p       : percent specular reflection
  336.  
  337.  Optional for