On 6/18/2012 11:06 PM, Nicolas Burtnyk wrote:
Don't get me started with the dirty list :)
I shouldn't be too hard on it though - it's actually come in handy for
1 specific case - it's the only good way that I've found to detect
that a shader parameter has changed while scrubbing a slider *before*
the renderer process callback is fired. The OnValueChange event gets
fired after the Process callback during a parameter scrub.
You seem to have ended up with a combined solution for detecting changed
scene items :) - using both the Dirty list and OnValueChange (and, maybe
objects' last evaluation ID)
Good choice :)
You will be happy with this architecture. The "clean" approach - using
only the dirty list mechanism - would rely too much on the XSI Renderer
API, which was a valiant but hopeless attempt by Autodesk to prove that
XSI is not built around MR. (Hint: there are tons of scenarios where MR
is integrated in a way that is not even theoretically possible to
achieve through the Renderer API)