Object State Transformation Matrix
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. The world space modifier is also applied
to the object state transformation matrix when the object is non-deformable such as
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.