A single shape can be used to instantiate multiple objects. Motion is specified by translations, rotations, and nonuniform scalings of the local coordinate system of each moving object. These changes can be given absolute or relative to the previous frame. The local coordinate system can also be set according to an array of sixteen floats or doubles representing a 4x4 column-major matrix of an affine transformation, as used in OpenGL . Deformations of complex shapes can be specified using client-defined vertex arrays.
Collision response is defined by the client by means of call-back functions.
Response may be defined per object pair, for all pairs containing a specific object, and as default for all pairs of objects. Response call-backs can use collision data describing the configuration of a pair of colliding objects. As collision data can be used a point common to both objects, and the closest point pair of the objects from the previous frame. The latter response type can be used for approximating the collision plane in physics-based simulations. Efficient Collision Detection of Complex Deformable Models using AABB Trees.