Feature | Phase | Comments |
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.
|