Viewport Rendering and the Pipeline
 
 
 

This topic provides a simplified view of how the viewport interacts with the scene graph and requests objects to flow up through the pipeline, for the case of simple viewport rendering of the scene.

When a portion of the viewport is identified as requiring a redraw by 3ds Max, the affected nodes in the scene graph are notified through a call to INode::EvalWorldState(). The node checks its world space cache validity, to see if the cached ObjectState can be reused.

If the cached object state is invalid, then a node sends a request to its referenced object (which can be accessed through INode::GetObjectRef()) to pass an ObjectState up through the pipeline, by calling Object::Eval().

The resultant ObjectState passed through the pipeline exposes an Object pointer. The BaseObject::Display() methods is called on this object to perform the actual drawing of the object or the modifier in the viewport, depending on which version of Display() is called.

See Also