home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / DOS / GRAFISCH / RAYTRACE / POLYRAY / REVISION.TXT < prev    next >
Text File  |  1993-04-24  |  12KB  |  335 lines

  1.         Polyray Revision History
  2.  
  3. Version 1.6a (Crud, stuff was still broken...)
  4. Released: 23 April 1993
  5.  
  6.      o  Problems in writing Targa images!  Uncompressed/RLE was being set
  7.         improperly in the image file.
  8.  
  9.      o  Allocation/Deallocation of static variables had some problems.  Mostly
  10.         fixed, however: DONT use a non-static texture in a static object.
  11.  
  12.      o  Added some code to "special" surface to make use of an alpha value
  13.     in a color map.  If you use "color xxx_map[foo_fn]", it will grab the
  14.     alpha value and use it for the transmission scale. (This overrides
  15.     any transmission scale you might put in later, so beware.)
  16.  
  17. Version 1.6 (beta)
  18. Released:
  19.  
  20.      o  Added opacity values to 16 and 32 bit Targa output.  Just a single
  21.     bit in the 16 bit files.  In the 32 bit files the extra channel
  22.     holds the percentage of the background that contributed to the
  23.     pixel.
  24.  
  25.      o  Added static (last from frame to frame) variables
  26.  
  27.      o  Added indexed and summed textures.
  28.  
  29.      o  Added RLE compressed 8 bit Targa files.
  30.  
  31.      o  Added VESA Hicolor display in 640x480 (still a bit buggy).  Don't
  32.         use anything but "-t 0" or "-t 1" for status displays or the screen
  33.     will go wierd after about 50 lines.
  34.  
  35.      o  Added texture maps (similar to color maps), indexed image files (for
  36.     use with texture maps)
  37.  
  38.      o  Added output of raw triangle information.  Render type 3 will render
  39.     the image as triangles, in ASCII form.  Each line of the output has
  40.     the form: v1 v2 v3 n1 n2 n3 uv1 uv2 uv3.  Where vx is a 3D vertex, nx
  41.     is the normal at the corresponding vertex, and uv1 is a pair of u,v
  42.     values for each vertex.  (This means there are 24 floating point
  43.     values per line.)
  44.  
  45.      o  Fixed bug involving conditional include files.  If an include directive
  46.     was inside a conditional, the file was read regardless of the value
  47.     of the conditional.
  48.  
  49.      o  Smoothed out Bezier surfaces.  A patch (smooth) triangle is now used
  50.     instead of a flat one when performing final intersection tests.
  51.  
  52.      o  Fixed view bug in scan conversion - if the direction of view was
  53.         along the y-axis & the up was along the z-axis, the image came out
  54.     upside down.
  55.  
  56.      o  Added displacement to scan converted surfaces
  57.  
  58.      o  Added u-v mapping to most primitives.  The variables u and v work
  59.     in all expressions.  This is especially useful for image mapping.
  60.  
  61.      o  Added u-v limits to several primitives.  This allows for creation of
  62.     sections of a primitive.
  63.  
  64.      o  Changed scan conversion to be adaptive to the on-screen pixel size.
  65.     Unless limited by u_steps or v_steps, the subdivision of a primitive
  66.     continues until a polygon about the size of a pixel is created.  This
  67.     is then drawn.  The biggest drawback is the appearance of cracks when
  68.     the adaptive subdivision is different for adjacent parts of a surface.
  69.     
  70.      o  Changed the meaning of u_steps and v_steps for most primitives.  They
  71.     now mean the number of binary subdivisions that are performed rather
  72.     than the number of steps.  Therefore "u_steps 4" in this version is
  73.     equivalent to "u_steps 16" in previous versions. (Unaffected
  74.     primitives: blobs, sweeps, lathes. These still work the old way.)
  75.  
  76.      o  Fixed dot product of vectors in expressions.
  77.  
  78.      o  Added Legendre polynomials as an expression.  Pretty cool for doing
  79.     spherical harmonics.
  80.  
  81.      o  Added depth mapped lights.  Useful if you need to do shadows of things
  82.     that can only be scan converted (like displacement surfaces).
  83.  
  84.      o  Fixed problems with using a torus in CSG.  (Only appeared in some
  85.     versions of v1.5)
  86.  
  87. Version 1.5
  88. Released: 8 November 1992
  89.  
  90.      o  Added textured lights
  91.  
  92.      o  Added directional lights
  93.  
  94.      o  Added haze
  95.  
  96.      o  Found the missing top line in scan converted images -
  97.         Polyray was using the background color for the entire
  98.         top line.
  99.  
  100.      o  Added layered textures.
  101.  
  102.      o  Expression processing code improved - bugs removed,
  103.         memory used diminished.
  104.  
  105.      o  Plugged memory leaks.  Extensive debugging of memory
  106.         allocations and frees performed.  Animations should be
  107.         much happier now.
  108.  
  109.      o  No longer need to define maximum number of primitives.
  110.  
  111.      o  Added support for greyscale Targa (type 3) files.  These
  112.         can be used as the output format, as imagemaps, and as
  113.         height fields.
  114.  
  115.      o  Buggy SVGA support removed.  Only standard VGA mode
  116.         (320x200) supported.
  117.  
  118.      o  Gridded objects added.
  119.  
  120.      o  Arrays added
  121.  
  122.      o  Components of CSG objects are now properly sorted by
  123.         bounding slabs
  124.  
  125.      o  User defined bounding slabs removed.  Polyray will always
  126.         use bounding slabs aligned with the x, y, and z-axes.
  127.  
  128.      o  Clipping and bounding objects removed.  Clipping is now
  129.         performed in CSG, bounding is specified using a
  130.         "bounding_box" declaration.
  131.  
  132.      o  Added wireframe display mode.
  133.  
  134.      o  Added planar blob types.  (Also added toroidal blob
  135.         types, but they only appear in scan conversion images
  136.         due to the extreme numerical precision needed to
  137.         raytrace them.)
  138.  
  139.      o  Added smooth height fields.
  140.  
  141.      o  Fixed shading bug involving transparent objects &
  142.         multiple light sources.
  143.  
  144.      o  Fixed diffuse lighting from colored lights.
  145.  
  146.      o  Changed RLE Targa output so that line boundaries are not
  147.         crossed.
  148.  
  149.  
  150. Version 1.4
  151. Released: 11 April 1992
  152.  
  153.      o  Support for many SVGA boards at 640x480 resolution in 256
  154.         colors.  See documentation for the -V flag. (Note: SVGA
  155.         displays only work on the 286 versions.)
  156.  
  157.      o  Changed the way the status output is managed.  Now
  158.         requires a number following the -t flag.  Note that line
  159.         and pixel status will screw up SVGA displays - drawing
  160.         goes to the wrong place starting around line 100.  If
  161.         using SVGA display then either use no status, or
  162.         "totals".
  163.  
  164.      o  Added cylindrical blob components.  Changed the syntax
  165.         for blobs to accommodate the new type.
  166.  
  167.      o  Added lathe surfaces made from either line segments or
  168.         quadratic splines.
  169.  
  170.      o  Added sweep surfaces made from quadratic splines.
  171.  
  172.      o  Height field syntax changed slightly.  Non-square height
  173.         fields now handled correctly.
  174.  
  175.      o  Added adaptive antialiasing.
  176.  
  177.      o  Squashed bug in shading routines that affected almost all
  178.         primitives. This bug was most noticeable for objects
  179.         that were scaled using different values for x, y, and z.
  180.  
  181.      o  Added transparency values to color maps.
  182.  
  183.      o  Added new keywords to the file "polyray.ini":
  184.         shadow_tolerance, antialias, alias_threshold,
  185.         max_samples.  Lines that begin with "// " in polyray.ini
  186.         are now treated as comments.
  187.  
  188.      o  Short document called "texture.txt" is now included in
  189.         "plydoc.zip".  This describes in a little more detail
  190.         how to go about developing solid textures using Polyray.
  191.  
  192.      o  Added command line argument "-z start_line".  This allows
  193.         the user to start a trace somewhere in the middle of an
  194.         image.  Note that an image that was started this way
  195.         cannot be correctly resumed & completed.  (You may be
  196.         able to use image cut and paste utilities though.)
  197.  
  198.  
  199. Version 1.3
  200. (not released)
  201.  
  202.      o  Added support for scan converting implicit functions and
  203.         polynomial surfaces using the marching cubes algorithm.
  204.         This technique can be slow, and is restricted to objects
  205.         that have user defined bounding shapes, but now Polyray
  206.         is able to scan convert any primitive.
  207.  
  208.      o  A global shading flag has been added in order to
  209.         selectively turn on/off some of the more time consuming
  210.         shading options.  This option will also allow for the
  211.         use of raytracing as a way of determining shadows,
  212.         reflectivity, and transparency during scan conversion.
  213.  
  214.      o  Added new keywords to the file "polyray.ini": pixel_size,
  215.         pixel_encoding, shade_flags.
  216.  
  217.      o  Improved refraction code to (mostly) handle transparent
  218.         surfaces that are defined by CSG intersection.
  219.  
  220.      o  Fixed discoloring of shadows that receive some light
  221.         through a transparent object.
  222.  
  223.      o  Jittered antialiasing was not being called when the
  224.         option was selected, this has been fixed.
  225.  
  226.      o  Fixed parsing of blobs and polygons that had large
  227.         numbers of entries. Previously the parser would fail
  228.         after 50-60 elements in a blob and the same number of
  229.         vertices of a polygon.
  230.  
  231.      o  In keeping with the format used by POV-Ray and Vivid,
  232.         comments may now start with "//" as well as "#".  The
  233.         use of the pound symbol for comments may be phased out
  234.         in future versions.
  235.  
  236.  
  237. Version 1.2
  238. Released: 16 February 1992
  239.  
  240.      o  Scan conversion of many primitives, using Z-Buffer
  241.         techniques.
  242.  
  243.      o  New primitives: sweep surface, torus
  244.  
  245.      o  Support for the standard 320x200 VGA display in 256
  246.         colors.
  247.  
  248.      o  An initialization file ("polyray.ini") is read before
  249.         processing.  This allows greater flexibility in tuning
  250.         many of the default values used by Polyray.
  251.  
  252.      o  User defined bounding slabs added.  This greatly improves
  253.         speed of rendering on data files with many small
  254.         objects.
  255.  
  256.      o  Noise surface added.
  257.  
  258.      o  Symbol table routines completely reworked.  Improved
  259.         speed for data files containing many definitions.
  260.  
  261.      o  Bug in the texturing of height fields corrected.
  262.  
  263.  
  264. Version 1.1
  265. (not released)
  266.  
  267.      o  Added parabola primitive
  268.  
  269.      o  Dithering of rays, and objects
  270.  
  271.      o  Blob code improved, shading corrected, intersection code
  272.         is faster and returns fewer incorrect results.
  273.  
  274.  
  275. Version 1.0
  276. Released: 27 December 1991
  277.  
  278.      o  Several changes in input syntax were made, the most
  279.         notable result being that commas are required in many
  280.         more places.  The reason for this is that due to the
  281.         very flexible nature of expressions possible, a certain
  282.         amount of syntactic sugar is required to remove
  283.         ambiguities from the parser.
  284.  
  285.      o  Several new primitives were added: boxes, cones,
  286.         cylinders, discs, height fields, and Bezier patches.
  287.  
  288.      o  A new way of doing textures was added - each component of
  289.         the lighting model can be specified by an implicit
  290.         function that is evaluated at run time.  Using this
  291.         feature leads to slower textures, however because the
  292.         textures are defined in the data file instead of within
  293.         Polyray, development of mathematical texturing can be
  294.         developed without making alterations to Polyray.
  295.  
  296.      o  File flush commands in the data file and at the command
  297.         line were added.
  298.  
  299.      o  Several new Targa variants were added.
  300.  
  301.      o  Image mapping added.
  302.  
  303.      o  Numerous bug fixes have occurred.
  304.  
  305.  
  306. Version 0.3 (beta)
  307. Released: 14 October 1991
  308.  
  309.      o  This release added Constructive Solid Geometry,
  310.         functional surfaces defined in terms of transcendental
  311.         functions, a checker texture, and compressed Targa
  312.         output.
  313.  
  314.      o  Polyray no longer accepted a list of bounding/clipping
  315.         objects, only a single object is allowed. since CSG can
  316.         be used to define complex shapes, this is not a
  317.         limitation, and even better makes for cleaner data
  318.         files.
  319.  
  320.  
  321. Version 0.2 (beta)
  322. (not released)
  323.  
  324.      o  This release added animation support, defined objects,
  325.         arithmetic expression parsing, and blobs.
  326.  
  327.  
  328. Version 0.1 (beta)
  329. (not released)
  330.  
  331.      o  First incarnation of Polyray.  This version had code for
  332.         polynomial equations and some of the basic surface types
  333.         contained in "mtv".
  334.  
  335.