Lib3D
Lib3d v1.0 is now . Version 2.0 is available
here, on the obj3d page.
Version 2.0 adds in multicolor, line and point drawing capabilities,
and more!
Well, get yourself over there!
This page contains stuff related to my 3d library for the C64.
The documentation is extremely spartan. A complete writeup will appear
in C=Hacking in the near future. This information is just provided
for general interest.
Click here for some Cool World screenshots.
Last revised: 5/3/98 -- Added lib3d source code
Some Cool World timings, as provided by Nate Dannenberg:
Stock (1MHz) Turbo (20MHz)
-------------------------------------------------------------
One large object: 3.7 FPS 67 FPS
One small object: 7.7 FPS 91 FPS!
Several large objects: 2.5 FPS 43 FPS
Several small objects: 3.8 FPS 53 FPS
The objects in these timings are the four- and six-pointed stars, which
are by far the most complicated objects in the program, so the above
numbers are more or less lower-bounds. Cool :)
As a further calibration, when no objects are visible the program runs
at around 16fps, mostly due to the inefficient screen clearing routine.
Files:
C64 Binaries
- coolworld Demo program for the 64. First read
README, below.
- coolworld.zip Or you can get the zip, which
has the readme included.
- lib3d.o 3d toolbox main routines, $8600-$9FFF
NOTE -- may change in the future.
- table13 $C000-$CFFF table (see lib3d.text below)
- mproj13 $8400-$8600 table
Plain ascii text
- rotmat.s Rotation/Projection lib3d routines
- polyfill.s Polygon renderer.
- lib3d.text Ramblings and short documentation
of library routines.
- README A little text explaining Cool World.
- world.s Cool World main program.
- stars.s The starfield routines.
- worldutils.s Utility routines, split off
into a separate file for memory reasons :).
- title.s The title screen generator.
- libtest.j.ascii ASCII text of libtest.j.s,
an old demo program using an old version of the library.
Stephen L. Judd
sjudd@ffd2.com --