Magdef Status

The table below shows the major features planned for Magdef. The progress on each one is indicated by a progress bar, as follows:
Not yet attempted -- still just a gleam in our eyes
Proof of concept -- we've shown it can be done
Clean design -- hacks replaced with good clean code
Final design -- settle the API and major internals
Bullet-proofing -- make it as unbreakable as possible
Verification & Documentation -- test it & write it up
This chart should give you an overview of the project status at a glance. For details and recent changes, be sure to see the news page. Currently only M3D features are listed; features of the other modules will be added soon.

TriMesh wrapper The core of the 3D library is the TriMesh geometric primitive, as this is simple and very efficient. Our wrapper automates memory management, and provides utilities for construction and transformation.
camera movement The camera can be moved around the scene in a variety of ways, and change the zoom, all with a simple API.
object movement Objects can be moved, turned, and otherwise driven around the scene; internal structures (bounding boxes, etc.) are automatically updated.
object construction Objects can be constructed "manually" within the code, or by importing trimeshes from a 3DMF file.
object culling Objects not in the camera's view are automatically withheld from the rendering cycle, which both improves speed and makes more efficient use of VRAM.
collision detection Collision detection is handled at the level of the bounding sphere/box. Derived classes can do more detailed collision checking if needed for a particular application.
VRAM management Hardware accelerators have limited VRAM, and when it's full, textures simply start disappearing. We'd like to detect low VRAM and either subsample the textures, switch to flat color, or otherwise do something more sensible.
error handling Macros are now used to easily trap errors and thrown an an appropriate exception; we'll also provide routines to make sure the user's system is appropriately configured.
background image We currently keep a static background, though you can zoom in and out on it. It'd be nice to also support a large, circular (or even spherical) background, which shows you different background as you turn.
foreground mask The engine will provide means to place pixmaps in the foreground, like a dashboard, instrument panel, status display, etc.
DrawSprocket support A subclass of MAPApp provides support for DrawSprocket, and in particular, for automatic changing of screen depth.
character animation We use a bones-based mesh deformation system to provide smooth, realistic animation of characters. In progress.
Last Updated: 1/29/99 . . . . . .