 *=------------------------------------------------------------------------=*
 
             Title: UW3D - A Software 3D Engine For Blitz Basic 2D

                              Version: V0.21

                             By: Kevin Picone

                       Email: picone@centerom.com.au

                      Url: www.uwdesign.50megs.com

                 Forum: http://pub101.ezboard.com/buwdesign


                      Release Date: 11th, Sep ,2002

    (c) copyright 2002 Kevin Picone, Underware Design All Rights Reserved

 *=------------------------------------------------------------------------=*
                               Release Notes
 *=------------------------------------------------------------------------=*



 What is This ?
 ==============

  While working on the Vis compiler (yes still coming) I decided It'd be nice
 to visualize the imported world. The problem is that the compiler is written
 in Blitz 2D. So I set out to write a little 3D engine and this is the result.

  Uw3D started it's life in Dark Basic as was only recently ported to blitz.
 The port took less than a few hours, although getting it running 100 took
 a few days.
 

  The UW3D engine mimic's DB matrix's and object system pretty much perfectly,
 and while not a speed demon (I get about 30-50fps at 5900 camera view depth) it's
 surprising how fast it actually is.


  When the demo loads, you can select the number of objects and the poly detail
 to create their meshes.  The detail only effects circular based mesh types like
 disc, tube, cone, sphere and torus. So you have complete control over their
 creation in terms of polygons (well I DO :).    To take this a step further the
 mesh system allows vertex access and face access. So meshes can be distorted,
 coloured, faces added, or culled. So they can be customized with ease.  In the
 demo you'll notice some objects have every second face missing to demonstrate
 this.  This is all at random, so some will, some won't..
  

  The world features one deformable object, it's set up to emulate a water styled
 mesh. 



 Speed:
 ======

  While this is going to vary for everybody, but UW3D is more than able to handle
 worlds of 25,000 plus polygons.  Actually 150,000 polygon worlds are fairly
 bearable on my system.  Of course that's NOT in scene ! :).. .
 
  If you select a lot of HIGH polygon objects for your world, the creation of this
 data will take a LONG TIME! on startup.  It will display the creation process at the
 start, so at least you shouldn't think it's crashed :)..   On average 100=>200 objects
 at a MED or low poly should give some fair results. 


 Features:
 =========

 * 6 DOF
 * Various Object Primitives (polygon,cube,box,plane,sphere,torus,cone,tube,disc
   and vertex plane)
 * Mesh Deformation
 * Height Map Terrain
 * 3 axis rotation (10 Mult vertex rotation)
 * Z Clipping (near and far planes includes RGB's and UV coords)
 * Occlusion (only considers those faces possibly in the camera FOV)
 * Flat + Gouraud Shaded Polygons
 * Sub-pixel Vertex Triangle Filler 
 * Scalable view ports 
 * Freq Sorted Z buffer (the faces are sorted on the average polygon depth)
 * Custom Ground height..



 Keys:
 =====

 F1 = Hide/Show Info
 F2 = Hide/Show FPS
 F3 = Render Terrain as Filled Polygons
 F4 = Render Terrain as Gouraud (the colours are random :))
 F5 = Inc Camera Depth
 F6 = Dec Camera Depth
 F9 =  Toggle (Show/hide) UW3D objects




 Missing Features:
 =================

  * Lighting -  While lighting is partly implemented it's not active of the
 demo. (i actually couldn't be bothered ) 

  * Render Types - Now this is the easy part. Since the core is designed in a very
 structured fashion, meaning it always handles  vertex normals / face normals /
 vertex rgb's, and texture UV coords already.  So applying new render
 types is as simple as patching in the renderer code to the scene render routine. 
 The mesh system also supports face render types rather than the global system in 
 the DB object system.  So you can tag faces as diffuse, some gourard, some mapped,
 phonged, environment mapped.  It just doesn't drawn them... :)     
 

  

 Bugs:
 =====
 

 * Z ordering.  Since the scene is drawn on the polygons average depth from the
   camera, it is not uncommon for the display order to be incorrect. I'm not in the
   least bit fussed about it personally.  To remedy the situation completely would
   require the addition of either a per pixel Z buffer or incorporating a span buffer.
   The first is dead simple, but certainly not something Db is even remotely suited
   too, as it relies purely on horse power.  The latter might appear in the blitz
   version.  Since a friend on mine is interested in using the engine in Blitz 2D
   for some educational titles.  So we'll see..

 * You can see some faces 'popping' up in the terrain FOV.  This is a result of
   some lazy regional testing when picking the potential visible faces..  




 Done:
 =====

 

 Well, have fun..




 Sincerely,
 Kevin Picone
 Underware Design
 picone@centercom.com.au
 www.uwdesign.50megs.com

*=------------------------------------------------------------------------=*
                               T H E   E N D
*=------------------------------------------------------------------------=*
