This file has 3 sections: Whatsnew text description of whats new Future where I intend to go History my comments as I worked on form ======================================================================== WHATSNEW ======== Version 3.00 ------------ APOLOGY I apologise to all of you who've been waiting for this release, and expecting it to do much more. I've been trying to do DXF format output and getting nowhere fast (or should that be slowly). I couldn't even begin to tell you how hard it is to get any sensible free documentation of INSERTS and POLYLINES! Offers anyone? GENERAL memory fragmentation has been improved, you should be able to save a GIF under tighter memory limitiations now. LEGAL.DOC, I don't know if this is needed, but you never know. THE LANGUAGE there have been some minor additions to the language CONES There is now a cone primitive. specifiy base width, height. SPACERS There is a new invisible object called "spacer", you give it a size and it acts as if it were there, but nothing is ever output. BRACKETS. You can often use brackets to "bind" transforms to their respective objects. Don't expect too much as this I've not really tested this yet. Tell me if it's not working as you expected tho'. SCALE The version you get may implement SCALE in a different way. Sorry, but the old way was not simple enough. COPYRIGHT A line can now contain the copyright keyword. This line will be displayed on the screen. SCREEN OPTIONS The screen display is now of higher quality. -dos, -ems, -xms, -disk It is now possible to use disk space for the ZBUFFER. so you don't need any extended memory.(-disk) I have implemented a simple conventional memory file cache which has helps but it's still pretty slow, you may want to load an external cache as well. WARNING: no disk space checking is performed!!!! (smacked wrists :-) -skeleton_preview -skel Display a preview of the skeleton. This is pre alpha as yet. -aspSave[-|+filename|=filename] saves final zbuffer to filename (default "temp.asp"). Format of the file is: int x, int y, followed by x*y integers of depth. Depth goes from -30000 to +30000. This option was created for playing with an autostereo program (aka SIRDS). Tell me if you can find a use for this sort of data. -save Now saves the FORM script away as a GIF comment. This will thus preserve any copyright message, and is in keeping with my policy of stashing the script away wherever possible. -res=WidthxHeight Selects the next biggest screen mode. if you need it you need it! I use it for 160x120 MPEG animations -update_ini if you use this flag any command line options after it will be written back to your sstools.ini file. WARNING this has not been well tested so use with caution POV options -bounding_boxes- You can now turn off bounding boxes to let pov do it's own thing. POV is usually more efficient a bounding boxes than FORM. -bound_torus You can individually turn bounding boxes around toroids on or off. I don't know if POV adds bounding boxes around toroids, so I put this in. -pov_declare_all_prims To simplify changing the primitives after outputting to POV there is now an option to declare each unique primitive at the top of the form file. VIVID output (for John Beale) This is Primitive but functional. Two options, Option 1 outputs unnested data much like POV, generates HUGE files (especially if you use toroids or ellipses). CAN have simple textures if you output like this. Option 2 outputs nested data. Data is held in (almost randomly) numbered .vo, and included in the original temp.v file. VIVID (or at least the version I'm using) then expands these to a HUGE (again) XYZZY.v file. You'll have to maintain a separate directory for each vivid output generated I'm afraid. CAN'T have textures in this mode! =========================================================================== FUTURE ------ (in no particular order, except the first two) Bug fixing, I need to add brackets (these might or might not work) I need to improve error checking MUTATIONS - for an explanation see TODD & LATHAM, this is a priority option! Improved xms Zbuffer caching (not gonna do this, EMS is good enough) add ems Zbuffer caching (done) add disk Zbuffer caching (done) add memory screen images for those that don't have SVGA cards (and for text only machines to run overnight) Perspective. (well why not!) A graphical interface, very much vapourware at the moment. different language syntax - I'm not happy with the current language implementation, if anyone has any ideas for a better syntax let me know. Portability to gnu cc compiler (for the hell of it) Portability to other platforms (will happen after gnu cc port) more output formats. (some other raytracers, polyray etc.) Textures I am particulary open to suggestions regarding implementing textures in POV. If I can do textures I may add truecolour facilities. possible new forms ribcage, fern?, and tree? DXF output, I''m looking into this, and this is the reason this release doesn't apear to have much in it! =========================================================================== HISTORY ------- Known Problems : seems to lock up if saving gif to another directory skeleton preview is the pits! (and that's being polite) Untested : Backets cones in VIVID Lightly tested : SCALE 3/2/94 Defaults are now setup internally in a centralised location, allowing me to document them. 1/2/94 fixed stupid bug when selecting screen mode, the higher the res the worse the mode selected! Glad I didn't release this last night! Scale now seems to work at last. Phew! 26/1/94 tidying up for release sstools environment variable added really does look for sstools.ini on your path looks for sstools.ini in the same dir as form.exe 10/1/94 fixed boxes failing in display=2 mode display=1 mode is back, th'o not complete 7/1/94 added disk cache and disk zbuffer added -xms and -disk flags added cache_lines variable 4/1/94 added -skeleton flag, does a bare bones preview. input is now saved as a gif comment. gif is now 89a to allow comments 20/12/93 added -res=WidthxHeight, approx 5% slowdown required to allow this! looks OK otherwise -update_ini to update the FORM section with command line parameters note: only updates options specified 13/12/93 Cones in POV are now correct No longer testing POV V1.0 support a new flag -pov_declare_all_prims outputs declares even for primitives pov output is SLIGHTLY less eager to put object { } around primitives bugs fixed 10/12/93 most command line aguments are case insensitive (like they always should have been) cones added for screen output (still need improving) -aspsave to save zbuffer to .asp file for later autostereo display 9/12/93 Tried vivid texturing, seems to work ok. It was a very simple test tho' cached data for polygonal representation of primitives now freed after use. BIG improvement in memory fragmentation! 8/12/93 savebackgroundaswhite now works for GIF as well! VIVID output now has textures and two options (nested and unnested) 2/12/93 added vivid output, triangular patches and all this should have laid some groundwork for dxf output also noticed, if you do sphere, ellipse; end; then they are slightly different shades! The sphere is brighter! 30/11/93 integer rendering speed improved a bit, now only about 5% slower, I think it's worth it for the quality improvement. 29/11/93 integer rendering improved at last, I just can't seem to improve it any more! I'm shelving it for a while, since it's a lot better than it was. GIT.FRM still screws up at res2 tho. 24/11/93 bounding_boxes flag added bound_torus flag added profile error messages actually give the profile flag and value now! prototype brackets added 23/11/93 new object added, spacer - creates a null object spheres of -ve radius are not output to POV (since it chokes) Copyright now displayed when encountered in a file. Updated the docs a bit. 22/11/93 tried to get the integer stuff displaying at better quality dubious success I'm afraid, just can't seem to get it working! untested: rescale so maxx or maxy is 1, separately from Z depth inter frame pause display accounts for time taken for ifp delay, making the prediction that much more accurate. 19/11/93 zbuffer is freed before attempting to save, providing better memory overhead the moredata buffer in encoder is checked for NULL! the x and y are scaled by 16 before being passed onto scan conversion resulting in better float rendering, and with rounding slightly better integer rendering the bresenham shift factor uped to 13 from 10 giving near perfect float rendering