Saphyre2
ANIMATION, NOT ONLY PHYSICS!!!!
Saphyre2 is a C++ library/engine for animating 3D objects by several animation techniques (from simple Keyframed animation to complex physics based simulation) in a unified framework.
Even though the main effort is directed towards offering fast and robust Physically Based Animation, achieving seamless integration between PBA and other "traditional" animation methods (Keyframes, Animation Curves) and Control is also of foremost interest.
Have a look at What the FAQ? for further enlightment and some bad jokes...
The planned features of Saphyre2 are:
- Saphyre2 can manage several independent Universes, each one inhabited by physical Objects grouped in Systems.
- Several kinds of Connectors ("Geometric Features") can be defined on a physical object. Connectors can be linked by constraints or affected by forces and impulses in an object type independent way.
- Several hard and soft Constraints or Joints that can link a pair of features (Connectors) defined on any kind of physical object. These include: Point to Point (Ball and Socket), Hinge, Point on Surface, Point on Curve, etc...
- Easy integration of Dynamic animation with Kinematically animated environments/objects.
- Control: Each DOF can be animated by Saphyre2 or controlled externally.
- Subsystem based architecture: Saphyre2 is divided in a few subsystems (Kernel, Integrator, Constraint Solver, Collision Detector, Collision Solver, Contact Solver...) which only colaborate through a clear interface defined in an Abstract Base Class (ABC) for each one. This allows selecting and switching the implementation of any Subsystem at run time or even reimplementing it transparently.
- Configurability and tradeoffs: Some aspects can be individually configured for each System:
- Precision
- Timestep
- Integration Method
- Constraint Solver
- Collision Solver
- Collision Detection Frequency
- Contact Solver
- Object auto-freezing: Resting or very slow moving objects can be automatically skipped by the simulation until they come to life again due to some external or internal interaction.
- SEGUR? Simple collision detection library COLD included: Though Saphyre2 is designed to be independent from the collision detection library used in the application, a very simple lib called COLD is provided for testing and demostration purposes.
For information on compiling Saphyre, see Compiling Saphyre2.
Generated on Tue Aug 10 15:58:30 2004 for Saphyre2 by
1.3.5