An ObjectState object maintains a transformation matrix as it flows up the pipeline. This matrix starts as the identity matrix. The following
steps describe what happens to an object state transformation matrix as it flows through the pipeline.
- Object space modifiers are applied to the transformation matrix if the object flowing through the pipeline has no points
to deform (i.e. is not deformable) such as a camera. In most cases no modifiers are applied.
- The node's transform controller object offset transformation matrix and node transformation matrix is applied to the object
state matrix. First the node's object offset matrix is multiplied by the node transformation matrix. The resulting matrix
is then multiplied to the object state transformation matrix, and stored back in to the ObjectState matrix.
- When a world space modifier is applied to a deformable object, the ObjectState matrix is applied to an object's points. This transforms the object from object space to world space. When this happens the
ObjectState matrix is reset to the identity matrix. If the object is not deformable (e.g. a camera).
- Note that world space modifiers have their own nodes, with their own object transformation matrices. The object transformation
matrix of a world space modifier is used to make sure that the modifier is applied in the correct space.
- The node maintains the resultant ObjectState to serve as the world space cache.