Mail Archives: djgpp/1997/10/20/20:12:11
AllegroPak is a collection of extra C functions for use with the Allegro
library. Most of them are to do with Z-buffering, but there are also some
general-purpose 3D and non-3D functions. The main features of this package
are Z-buffered versions of all of Allegro's polygon-rendering modes
(including two new ones which are affine and perspective-correct
texture-mapping that is both masked and lit) and z-buffered sprites (both
flat ones and ones with depth-maps).
I was originally hoping that this was going to be part of Allegro, but Shawn
was worried about Allegro getting too big, and wanted me to support greater
colour-depths. Since then, I have learned that it would have been better to
re-write Allegro's polygon drawers from scratch instead of hack Allegro's,
so one of these days, I may give this a complete overhaul (that is assuming
there isn't a really good freeware 3D engine for DJGPP by the time I get
round to it). I have however in the mean time decided to release what I have
done so far instead of let it lie in a forgotten corner of my Hard-Drive. I
would really appreciate feedback on this, and Shawn is still welcome to
harvest parts of this code and include it with Allegro.
My code and it's demos have the following low-level features:
+ Z-buffering added to all of Allegro's polygon drawing modes
+ The inclusion of polygon rendering modes: POLYTYPE_ATEX_MASK_LIT and
POLYTYPE_PTEX_MASK_LIT (z-buffered only)
+ 3D sprites (both with and without depth-maps). These sprites can be
zoomed, rotated, drawn translucent or lit (you can even z-zoom and
transparent z-blit the 3D sprite in one command).
On a slightly higher level it has:
+ Light-sourced gouraud shaded objects (with vertex-normals) drawn with
Allegro's polygon drawer (this is done in one of the demos).
+ Real-time (almost) light-sourced texture-mapped Z-buffered sphere
rendering.
+ Fog Shading (this is done in one of the demos).
+ Full viewing-volume (fustrum) 3D polygon clipping (clips polygons to the
X=Z, X=-Z, Y=Z, Y=-Z and near Z=K planes).
+ Miscellaneous 3D Functions (mostly for converting between Cartesian and
Polar coordinates in 3D space).
+ RGB <-> HSV functions that actually work, as well as RGB <-> HLS
functions.
All features are fully documented (there is full documentation, and although
the sourcecode is heavily commented, the documentation is sufficient), and
there's even an explanation of how some of the code works in the demos.
AllegroPak has it's own homepage at:
http://www.xs4all.nl/~ellman/ae-a/wacko/allegro/AllegroPak.html
There, you can download AllegroPak, view the current bugslist (if you find a
bug not on the list, then please report it to me), the TODO list, see what
has been written with AllegroPak (so far, just one set of demos which is the
compiled AllegroPak examples), and find out when AllegroPak has been
updated.
AE.
--
Andrei Ellman - URL: http://www.xs4all.nl/~ellman/ae-a - ae1 AT york DOT ac DOT uk
"All I wanna do is have some fun :-) || ae-a AT minster DOT york DOT ac DOT uk
I've got the feeling I'm not the only one" || mailto:ellman AT xs4all DOT nl
-- Sheryl Crow :-) || It's what you make of it.
- Raw text -