------------------------------------------------------------------------------
2006-05-11 (0.0.24)
- Removed face and skin classes, added attributable class.    
- Support for flat polygons both in software and in hardware.
------------------------------------------------------------------------------
2006-03-30 (0.0.23)
- Return to one humongous library, multiple ones were a bad an unwieldy idea.
- Discarded the gtk functions, they were not being maintained correctly nor
really needed. Future GUI functions (if they are needed) will be using
wxWidgets so they will actually be portable.
- Added subpixel rendering.
------------------------------------------------------------------------------
2006-03-24 (0.0.22)
- OpenGL implementation mainly done.
- Discarded even more optimizations and precalculated data for simpler
rendering and easier OpenGL migration. Ironically, speed impact was again
positive.
------------------------------------------------------------------------------
2005-12-31 (0.0.21)
- OpenGL implementation underway.
- Discarded some optimizations for simpler 3D software rendering methods
(flat) on migration to OpenGL backend. Surprisingly, complex software
rendering (gouraud) sped up.
------------------------------------------------------------------------------
2005-08-25 (0.0.20)
- Differentiated the various modules to libraries libfhi, libfhi_gtk and
libfhi_sdl.
- Major simplification, useless code removal and optimization.
- Reworked some structures and algorithms.
- Rewrote clipping algorithms to be significantly easier to understand,
removed almost all of macro obfuscation from Surface code.
------------------------------------------------------------------------------
2005-08-20 (0.0.19)
- Last version with autoconf.
- Migration into GCC-4, incomplete in some aspects. Will be revised in later
revisions.
------------------------------------------------------------------------------
2005-05-07 (0.0.18)
- The Surface class mostly rewritten. Now operates even more like a state
machine, surfaces have to be selected for drawing.
- gtkSurface now operates exactly like sdlSurface, and can be selected for
drawing and issued commands directly.
- Interpolation in fixed point for the sake of speed.
- Class scopes and visiblities fixed (mostly).
- Debug mode ok.
------------------------------------------------------------------------------
2004-09-30 (0.0.17)
- Complete rewrite of the polygon clipper. Slower, but more elegant.
- Lots of useless code removed.
- Source files merged, most of useless inclusion removed, compiles faster.
- All the modules are optional, not only GTK. Additionally, gtkSurface no
longer needs SDL, but will work fine without.
- Debug mode does not work, do not enable.
------------------------------------------------------------------------------
2004-09-23 (0.0.16)
- Optimized the dynamic loader code a bit.
- Beautified the component class.
- Removed some defines and repositioned as const variables.
- Debug mode is broken.
- Rewrote matrix and vector algorithms. Now much faster and more usable.
- Included the test program (former lfdebug) in the package, so all the
debugging is much less of a hassle now.
------------------------------------------------------------------------------
2004-02-18 (0.0.15)
- Completely dynamic model structure. New class PreModel that is used to build
models, then write them to Mesh and Skin structures that form PostModel (old
Model).
- Also the structure of 3d world is dynamic now. You just create some lights,
cameras and models, then add them to the world and it draws them
automatically. Same applies to the meshes, just add / remove skins as you
will.
- Beautified the code, removed some macros, etc.
------------------------------------------------------------------------------
2004-02-08 (0.0.14)
- Completely rewrote the naming structure. Every function and class now
resides in the namespace "libfhi", every flag or constant begins with
"LIBFHI_". Thus, no overlapping with any other naming scheme.
- Replaced the 2-pass algorithm for the fillers with an 1-pass one. Slight but
noticeable speedup. Also managed to remove ALL global variables.
- Optional GTK support for some handy functions and constructs to be used
in GTK programs. This includes a GTK-SDL wrapper.
------------------------------------------------------------------------------
2004-02-07 (0.0.13)
- Removed M_2PI (was unneccessary).
- Removed precalculation of trigonometric functions (was slow).
- Dynamic memory model for 3d objects.
- Rewrote some documentation.
- Some writing in the miscellaneous functions part.
------------------------------------------------------------------------------
2003-10-12 (0.0.12)
- Switched to 16-bit zbuffer, major speedup.
- Wrote some functions inline, significant speedup.
- Differentiated non-clipped drawing structures from clipped. Class structure
now more complex, but also more effective and straightforward.
------------------------------------------------------------------------------
2003-10-04 (0.0.11)
- More template functions, minor speedup on their behalf.
- All source files now have their own headers, as good manners state.
- Code generalization, exspecially the primitive constructs.
------------------------------------------------------------------------------
2003-09-27 (0.0.10)
- More massive improvements in the class structure. You can actually read the
code now. More of the macro crap removed.
- Because of the former, the library is becoming even more slow. Gotta do
something to it any day now.
------------------------------------------------------------------------------
2003-09-07 (0.0.9)
- Optimized the rotation matrix function.
- The m4 script was put into it's own file and set to be installed normally.
From now on, programs can call AM_PATH_LIBFHI.
- Massive improvement in the class structure, now significantly cleaner,
simpler and more beautiful.
- Less macro crap, translations to template functions.
- Assembler code dumped. Major performance hit, should priorize for some
serious optimization to the C code.
------------------------------------------------------------------------------
2003-05-03 (0.0.8)
- Bugs fixed in line drawing functions.
- The configure script should really work now. At least I hope so.
------------------------------------------------------------------------------
2003-04-28 (0.0.7)
- Renamefest. Switched to a bit more logical filenames. Also other code
cleanup done.
- Camera and orientation code simplified greatly.
- Code structure improved. Consumers no longer need a distinct config.h, it
exists for building only.
- Miscellaneous functions improved.
- Test function added.
------------------------------------------------------------------------------
2003-04-07 (0.0.6)
- The whole structure is rewritten, code clipped to smaller chunks, all in all
the code looks more beautiful than before.
- Clipping algorithm completely rewritten. Huge success, approximation of
speed increase is 2 to 3 times the former version.
- This version was buggy. It even compiled only with warnings.
------------------------------------------------------------------------------
2003-03-08 (0.0.5)
- Renewed the class system, it now offers much greater flexiblity with less
global variables.
- 3d drawing routines were separated from the 3d routines themselves.
- Boundary class handles clipping to the screen edges. Unfortunately only the
zbuffer functions currently obey it.
------------------------------------------------------------------------------
2003-02-26 (0.0.4)
- Made the library smaller by removing primitives that were made for distinct
screen widths.
- Renamed current primitive calls to "nc_" or noclip in premise of clipped
primitives.
- Tweaked the configuration script.
------------------------------------------------------------------------------
2003-02-15 (0.0.3)
- Finished rewriting and beautifying the code.
------------------------------------------------------------------------------
2003-01-20 (0.0.2):
- Fixed a bug that caused the library not to compile with an older version of
nasm.
------------------------------------------------------------------------------
2003-01-18 (0.0.1):
- A bug in the assembler memcpy fixed.
- Removed the test program from the distribution.
- Some source moved between source files in order to make portable compilation
possible.
- GNU Build environment mastered to a degree. Should work.
------------------------------------------------------------------------------
2002-11-??:
- Framework coded. Uses C++ as a high-level UI for C and asm core.
- Library tested as a basis for a demo. Works.
------------------------------------------------------------------------------
2002.08.??
- Dumped all kinds of shit. Probably DOS-specific, saved stuff for refrence.
- Started coding new functions using the SDL multiplatform wrapper library.
------------------------------------------------------------------------------
