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.