To maximize the speed with which 3ds Max evaluates the state of a node, it maintains a cache for each node in the scene that describes it appearance in world space. This world space cache is the product of the node's geometry pipeline. It reflects the state of the object in world space after all modifiers have been applied to it. Along with the cache, the system maintains a validity interval that indicates the period of time over which the cache accurately reflects the state of the node.
The cache is stored as an ObjectState
with an associated validity interval and is maintained by an INode
.
When the system needs the result of a node's pipeline, it first checks to see if the validity interval of the cache is valid. If it is, the cached representation is used. If it is not, the pipeline is evaluated and the cache is made valid. The validity interval is updated, and the cached ObjectState
is returned.
The cache system uses channels to allow caching of only selected data.