probably stating the obvious here but, wouldn't you just cache the
deltas (blob, userdata etc) and use that for your

sparse/dirty call on the next eval cycle ?



--
Jon Swindells
[email protected]





On Wed, Apr 16, 2014, at 05:15 AM, Matt Lind wrote:

Is there any way to detect what exactly has changed between calls to a
C++ custom operator? (eg; which inputs were dirtied?)


I have a custom operator (deformer) which has several inputs.  Each
time an input is dirtied, the custom operator must iterate through all
the point positions, samples (UV), and weight maps from the polygon
mesh during each update, and modify that data using information
obtained from the other inputs.  While my operator computes the correct
result, it comes with significant overhead.   95% of the time, less
than 5% of polygon mesh’s points are modified.  It seems like a waste
to iterate through all those points when only a tiny bit actually
changes requiring processing.


I would like to only process points where the positions, samples,
and/or weight maps have changed between updates and skip the rest.  Is
that information available to a custom operator?  If so, how do I
access it?


To pre-emptively answer the obvious question that will be asked – No, I
cannot do this in ICE because my custom operator must work with NURBS
in a particular fashion that is not supported by ICE.



Matt

Reply via email to