The present invention consists of an evaluation engine, which is a system
for evaluating the state of an animation at a specific time where
secondary animation may be derived from the state of the animation at
another time. Unlike DAG-based systems where time is another variable,
time is external to the evaluation engine so that it can easily evaluate
alternate times and even entire simulations. It also comprises meshes
which support instancing and edge weights, and which employ and
extensible system of polygon types to support subdivision surface
approximation using a set of bi-quadratic patches which solve quickly.
The meshes can also be animated by the evaluation engine using a mesh
stack, which has multiple evaluation paths for quickly computing mesh
attributes without performing a full evaluation.