!TopModel Log-file:
-------------------
This file describes, step by step, the creation of the program.

These are the major improvements between versions:

<0.40 The monotask body of the program, 3D engine: trasformation 3D -> 2D and data structure.
 0.41 Introduced a very fast bresenham line routine; introduced a very fast Bezier curves draw
      routine (by points); introduced a very fast Bezier surfaces draw routine (by points).
 0.44 Simple POV-Ray loader to test Bezier Surfaces objects
 0.45 Now allowed a simple editing of all type of points (drag). It is possible to group points.
      and other groups. Introduced the Bezier polihedra (with a switch on/off) for an improved
      Bezier curves/surfaces editing.
 0.48 Now you can delete primitives !
 0.49 Build-up of the desktop structure of the program.
 0.50 Fill finally! Introduced real time Gouraud Shading (uniform fill is actually done with this
      algorithm, so has the same speed). The graphic engin and the multitask front-end has finally
      married. Several bugs corrected, at last.
 0.53 Now Gouraud shading works with colours! At last you can change graphics mode, but still
      restricted to 16/256 colours mode with square pixel.
 0.56 Several problems with normals: creation of the tool box that allows a better orientation
      of normals, but still it isn't enought.
 0.57 New loaders, you now can read illuminator's objects and a new CSG format created (but
      still in development).
 0.58 Now you can light the scene, but only frontally; illumination tool, allowing multiple light
      sources, is activated (but still don't work).
 0.59 Now you can use keyboard short-cuts to the main function. Scene manipulation via mouse is
      improved.
 0.60 Editing Improved: now you can use a drag box for multiple selection or deselection of points
      and primitives. New functions allowing a full primitive selection starting from a point and
      other useful functions.
 0.61 Load window allowing to manipulate input objects, but still there isn't autoscaling. General
      clean of source code (assembler) and a working redraw of main window.
 0.62 Make up of window pane: new commands added with more shading options. New uniform fill routine
      (average speeding up factor: >2) with greyscale or colour proportional shading. Better use
      of colours.  New animations for the main icon and for the menu info.
 0.65 Fixing colour philosophy of the package: 16 prior colours with 16 gradiation and up to 128
      greyscale levels for the best real time rendering. Buffered display options. Adapted to non
      square pixels mode. Now it is possible to navigate thorough the scenes freely.
      (started on 7/7/94)
 0.66 Loaders improved (speeded up by 3). When loading it has been added a percentage, showing the
      work in progress. Resize input objects. Scene dimensions are limited (number of possible zoom
      in/out). (started on 15/7/1994)
 0.67 Possibility to move, zoom & rotate objects. Several bugs corrected.Now TopModel can save
      the sprite, the 2D draw file of the view, and a new format has been created for the modeller.
      (started on 26/7/1994)
 0.68 Activated hidden line options. General improvement in code. Now the light philosophy of the
      package has been fixed, but still not implemented. New tool to invert normals. At last a working
      tool to Group and Ungroup objects. Little remake in the look of the windows. Bugs fixed
      (started on 3/8/1994)
 0.69 Improved wimp interface. New illumination model; possibility for real time reflection and light
      calculation. Code to trasform parametric coordinates from (u,v) to (x,y,z). Now it is possible
      to shade parametric surfaces. New easy method to work with surfaces! New tool to edit surfaces
      and to trasform them into mesh of polygons. New set of memory management routines.
      (started on 10/8/1994)
 0.70 Right normal check when in perspective. Tool to edit the properties of objects (colour, material,
      attributes of material, texture, ecc.). Tool to copy polygonal objects. (started on 18/8/1994)
 0.71 Speed in hidden line removal algorithm was greatly improved (>60 times faster).
      Two bugs corrected. Possibility to see the poligonal cover of a surface while editing.
      Support for Acorn's colour Picker module. Now working on Phong colour shader to improve
      realism (even more). Little correction in polygons and points data structure ...
      Hey, mum, what's that? A bird? A bullet? A jet? Superman? NO, it's a Phong shading,
      quickier as you can believe (or so). Another correction in point's data structure.
      (started on 3 /9/1994)
 0.72 Final definition of points and primitives data structure. Tri-linear REALTIME deformation
      tool, (just move the bounding cube!): very useful and fun!. Robustness against errors.
      Started working on full immersion tool to navigate better in the created world.
      A bug corrected. Working on 2D (bitmap based) texture, Gouraud illuminated!
      WoW! Real time texture mapping: uhmmmmmmmm! Very, Very fast, this greatly enhance realism,
      and it's even shaded! It deals with each 256 colour sprite of every size with standard
      palette. (started on 20/9/1994)
 0.73 Another change in primitives data structures. Loaders for Render386 file formats.
      Starting to work on clipping. Tool to change primitive's colour. Starting tool to apply
      textures easily. (started on 9/10/1994)
 0.74 Real-time TRUE TRASPARENT object. Ehy Jim, I can see trough it! And wanna know something?
      It still moves! WOW, wow! and works also with texture mapped objects, you win the bet!
      Possibility to set predefined material properties in the edit tool.
      (started on 5/11/1994)
 0.75 Clean up of code; better support for new routines; new way to add tool without altering
      main program (like Artwork). No need for self-modifing code, it's a bit slower but can
      be compiled once. The machine code now much more flexible.
      (started on 5/12/1994)
 0.76 New memory controller; memory check against all the possible operation that use memory.
      Now it is possible to copy surfaces as well as poligons. Messages appears, at last!
      New tool: multiple copy. New enhanced graphic interface ...
      (started on 18/1/1995)
 0.77 Ehi mum, how many windows there can be in a templates file? well my darling, lots ....
      Possibility to save options; working on multiple copy along paths. Code seems to be
      neat and fast now, it's time for the last redefinition in data-structure to allow the
      ultimate tool to setup a versatile and fast texture mapping that should be included in
      the first release of the package (if not sorry ...). New piece of code to shrink memory
      used for objects. Setup code to support up to 16 path (up to 10 bezier curves each) to
      copy, estrude or sweep objects... Tool to set point coordinate, resize bounding-box and
      for a general measurement system. Info on the component of the world and of the current
      selection.      (started on 2/2/1995)
 0.78 Improved tool to join points with variable tollerance. Resizing memory for objects at last!
      A couple of bugs corrected (on Load service and on Copy service). Now it is possible to
      copy along any bezier-path (up to 10). More info on edited objects. Working on tools to
      create objects. (started on 8/2/1995)
 0.79 Creation interface has been fixed. Now it is possible to mesh a surface with a variable
      number of polygon for U and V (polygonal cover can be n*m instead of n*n).
      (started on 16/2/1995)
 0.80 Texture mapping improved; more control and now works with any 256-colours sprite.Bug fixed.
      Little improvement of user interface. Now it's possible to light scene from the main window
      pane... Completed tool to subdivide an object into a smaller subset ...
      (started on 19/2/1995)
 0.81 Now, changing graphic mode, the main window is correctly resized and moved due to the new
      size. Starting tool to add primitives merged from library. Added a new object: the sphere!
      New routine for a fast and clipped Bresenham circle. Template file is growing ...
      (started on 23/2/1995)
 0.82 New deformation tool: the magnetic attraction ... Little improvement in graphic interface.
      New button in the select bar to allow snap to point (not yet activated).
      (started on 28/2/1995)
 0.83 Possibility to load/save a file of materials.Possibility to save views and planes picked-up
      from objects and to restore them in each moment by name. Snap to grid (regular, on a path,
      on a plane). Added name for grouped objects.
      (started on 6/3/1995)
 0.84 Added name for views (up to 64).Possibility to select a group by name. Workarea extended to
      32Mb due to a change in the calculation of the surface's ID.At last added a sphere as a new
      primitives. This type of sphere is undeformable. (started on 10/3/1995)
 0.85 Possibility to set-up memory limits and new dynamic areas (RiscPC only).
      (started on 1/4/1995)
 0.86 New tool to align/space out objects (grouped). Tools to create objects at last.
      Preview of texture dragged in. Bug removed (in texture dynamic memory mapping).
      (started on 15/4/1995)
 0.87 SWEEP! A new, exciting tool of sweep, working on any scene object, FAST and with a control
      panel NEVER seen before on any platform ... (and it also works well!). Now TopModel deals
      with multi-texture files of any names. Texture viewer added. Possibility to map textures
      with control on start offset and a number of repetitions. Possibility to sweep also bezier
      curves producing a bezier-surfaces solid of revolution. (started on 1/5/1995)
 0.88 Once upon a time there were two ugly and bad bugs, but now they are dead... Ooops!
      (started on 18/5/1995)
 0.89 Now the option "normal to path" in copy tool works properly ...
      Extrusion at last! As sweep it is FAST with so many exciting controls that you can do
      almost anything.It works along any multi-bezier path and there are editors for step,envelope
      and bevelling! It is also an easy way for pipes, reptiles, worms, and so on.
      (started on 20/5/1995)
 0.90 Bug corrected; now it is possible to subdivide polygonal objects when needed in 2/3/4 parts.
      Possibility to drag the texture directly to the object; improved path edit; right behaviour
      of bezier curves during creation. (started on 5/6/1995).
 0.91 Bug corrected in the trilinear deformation. New dialogue boxes to create primitives. Improved
      creation tool (enhanced primitives positioning). Working on library objects.
      (started on 10/6/1995)
 0.92 Possibility to create a line or a triangle from selected points. Improved move tool. Support
      for file double-click to load or merge objects in the main scene or to start TopModel if it
      is not running. Possibility to map textures in "cylinder" or "sphere" mode.
      (started on 15/6/1995)
 0.93 Load/Save from other applications. Bug removed in polygon subdivision. Tool to rotate or zoom
      freely primitives without have to specify precise coordinates. Bug removed in reduce primitive
      set; bug removed in load. Now it is possible to save the polygonal cover of surfaces with all
      the parameters. Possibility  to edit materials. (started on 20/6/1995)
 0.94 New ASCII File Format for quick and easy export to other packages or to upgrade to newer version.
      Added the menu in the main window. A bug has just died... Improved tool to invert normals.
      TopModel now supports double click on objects to load them directly when its viewer is empty,
      or to run another session if there is already some objects loaded.
      (started on 26/6/1995)
 0.95 Load filter for the ASCII File Format added in 0.94; improved this format adding more informations.
      Two bugs exterminated in creation tool. Possibility to lock rotation on any axis during the copy
      or extrusion along path when option "normal to path" is on. Better management of textures dragged
      in. A texture folder has been created to store textures in every format, also 32-bit colour.
      References of used textures now present in the saved file.
      (started on 29/6/1995)
 0.96 Lattice deformation using Bezier's Volume distorsion (like the Artwork bending tool but working
      in 3D) with a powerful control of objects, allowing also a non-linear expansion of just the
      interior part of selection. Easy setting of path (those used for copy and extrude). Now the
      tool used to subdivide polygons works also on bezier curves and lines, allowing their splitting.
      Easy way to select single objects. (started on  2/7/1995)
 0.97 New deformation tool: torsion/envelope and step to model objects freely in an intuitive way.
      Panel control like sweep, allowing non-linear editing. Allow dragging of spritefile. TopModel will
      create a polygon of the right colour for each pixel in the image. Possibility to generate altitude
      maps from sprites. TopModel can now import textures using ChangeFSI (you can also choose to use or
      not ChangeFSI from options panel to speed-up texture loading). Possibility to join 2/3 or 4 points
      through a line or one or two triangles. (started on  8/7/1995)
 0.98 It has been added a useful help on line on the main functions. General check over the various
      available functions. Two bugs corrected. New messages added. Immediate object rotation now more
      intuitive and easy to use. Improved graphic interface. Reflection now works correctly, including
      the gloss parameter, so now you can have specular spot of light (unfortunately, Phong-shading redraw
      speed slows down). (started on 15/7/1995)
 0.99 New objects in creation tool: ellissoid (a deformed sphere composed by 8 bezier surfaces) and torus.
      New view style: shaded wireframe. Bugs eliminated. General check-up; program tested. Introduced
      new objects in creation tool: pipe, bezier circumferences and circles, bezier rounded polygons.
      Added facilities to some of existing tools. Extrusion works on bezier curves, at last. Help on line
      extended to other dialogue boxes. Several bugs reported by beta-tester corrected. Now TopModel
      deleted also unwanted lights and isolated points (which are not used by any object).
      (started on 2/8/1995)
 1.00 Full clipping in wireframe editing (it slows down a bit ...). Cylinders and Cone added. Step in
      extrusion now works properly. Better surfaces management. Linear grid with separated control of step
      and offset over each axis. Extensions to ASCII file format. Extension to align tool. Polygons are
      created now with the bottom side always horizontal for an easy modelling. Final version of user
      interface. New colour picker for OS versions less than 3.5. Possibility to show grid on screen,
      in axonometric or perspective view. Possibility to repair normals of imported objects using spatial
      coherency. Extended ASCII file format. Possibility to fill paths and to extrude them immediately
      during creation (and so support for 3D text). (started on 28/8/1995)
 1.01 TopModel now imports drawfiles! Possibility to move objects while in library mode. Now you can have
      several directories of library objects from a menu over the library icon. Working on the 32bbp
      output combined with a new style mode with an exact colour visualization!
      The new mode is ready and tested... WOW! it was designed as a static style mode as a preview, but
      it's fast enought to edit on! 24bpp output (clear file) has been implemented with user defined resolution.
      (typical time for an high quality 800x600 pixel 24bbp output on a RiscPC 600: 3.5 seconds! The hard
      drive it's slower than the drawing algorithm!!!). Improved Phong routines: up to two times faster!
      (started on 5/9/1995)
 1.02 Another improvement in user interface (but this time it's really the last one). Introduced a new type of
      light: solar (positioned at infinity with parallel lights). Now you can create lights like all the other
      types of primitives directly on the work area. Multiple light source calculation: in the new true colour
      mode you can use (and see their effects on the scene) all the sun light you want of any intensity and colour.
      (started on 28/9/1995)
 1.03 New object-oriented management of materials: now you can set up to 256 materials that can be assigned to
      objects using drag and drop. Changing the characteristics of a material, all the objects sharing will
      be changed accordingly. New object-oriented management of colours: up to 512 colours with 116 presetted
      industry standard colours. Changing a colour, all the objects sharing it will change. New memory settings
      in the task that runs TopModel. A bug removed. TopModel will not load any longer GEO and RENDER BENDER file
      formats; this task is assigned to external filters. New and definitive (for the first version of TopModel)
      ASCII file format. (started on 4/10/1995)
 1.04 This is the last beta program before the commercial version of TopModel (that is to say the 1.05).
      Possibility to set Flat or Smooth parameter for each primitive that allows you to decide whether an object
      is seen smoothed or with all its facets. Possibility to mirror objects around the required axis.
      Hot-Key to enter wireframe mode. You can now use cursor-keys to move selected object(s). Added to material's
      characteristics ambiental light absorption factor and refractive index for transparent objects (but the last
      one is not currently used in the modeller). Added a second library of objects to be sweeped (also to test the
      algorithm to manage several libraries). Possibility to have a feedback of the object's attributes. Two minor
      bugs corrected. (started on 15/10/1995)
 1.05 WOW! WOW! WOW! At last that's all, folks! TopModel see the light! Now I only have to complete the protection
      scheme. The version of TopModel's Viewer !TMViewer is at least ready for distribution! Improved true-colour
      mode (just on screen, not the 24bpp output): two to three times faster (just as fast as Phong, more or less)!
      Implemented refractive index in material rendering; no glass distorsion but it improves a lot the quality
      of the final scene (now a transparent object LOOKS LIKE a transparent object!). See the file Refraction in
      the properties directory to compare an transparent object which has a refractive index equal to zero (the old
      default: constant transparency) to the other ones...  (started on 21/10/1995)
 1.06 TopModel now imports polygons of any number of sides. Imported drafiles can be filled or directly extruded.
      (started on 10/11/1995)
 1.07 Bug corrected (started on 20/12/1995)
 1.08 Little changing in windows layout (started on 15/1/1996)
 1.09 Z-Buffer during 24bpp saving (started on 1/2/1996)
