Hi,
I'm building a dependence list on a generator, I want to know if the input object parameter is changed and/or deformed. When adding the dependence using DIRTYFLAGS_DATA | DIRTYFLAGS_CACHE
, it does exactly that but I get a dirty cache on every single screen update, the cache flag never gets cleared. If I use DIRTYFLAGS_DATA
only, I get it dirtied only once when a parameter changes, as expected.
How can I clear the dependence dirty cache flag?
My code..
op->NewDependenceList();
for ( auto child = op->GetDown() ; child != nullptr ; child = child->GetNext() )
{
BaseObject* dependence = nullptr;
if ( ValidateChildMesh( child->GetType() ) )
{
dependence = child;
}
if ( dependence != nullptr )
{
//op->AddDependence( hh, dependence, DIRTYFLAGS_DATA );
op->AddDependence( hh, dependence, DIRTYFLAGS_DATA | DIRTYFLAGS_CACHE );
}
}
if ( !dirty )
{
dirty = !op->CompareDependenceList();
}
op->TouchDependenceList(); // Hide dependences
if ( !dirty )
{
auto cache = op->GetCache(hh);
return cache;
}
// Generate....