Maya’s Dependency Graph Demystified
With the scripting saga finally over we take a good look at how Maya’s DG (Dependency Graph) evaluation model works.
We introduce evaluation graphs in general, the concepts of push and pull, data vs evaluation, and then we move into more Maya specific territory.
Maya’s MDataBlock, compute(), Plugs and dirty state and all that goodness.
I do wish I had switched up to our own rig to show a more complex graph somewhere in the last third, but hopefully the simplicity of the example and the discussion will still get the point across even for the more complex scenarios. We will, no doubt, have a chance to revisit the subject again soon enough when we’ll be discussing profiling and performance.
In the end we also introduce some of the peculiarities and fundamentals of how the model behind the new multi-threaded evaluation looks like.