All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdChangeTracker Class Reference

Tracks changes from the HdSceneDelegate, providing invalidation cues to the render engine. More...

Public Types

enum  RprimDirtyBits : HdDirtyBits {
  Clean = 0, InitRepr = 1 << 0, Varying = 1 << 1, AllDirty = ~Varying,
  DirtyPrimID = 1 << 2, DirtyExtent = 1 << 3, DirtyDisplayStyle = 1 << 4, DirtyPoints = 1 << 5,
  DirtyPrimvar = 1 << 6, DirtyMaterialId = 1 << 7, DirtyTopology = 1 << 8, DirtyTransform = 1 << 9,
  DirtyVisibility = 1 << 10, DirtyNormals = 1 << 11, DirtyDoubleSided = 1 << 12, DirtyCullStyle = 1 << 13,
  DirtySubdivTags = 1 << 14, DirtyWidths = 1 << 15, DirtyInstancer = 1 << 16, DirtyInstanceIndex = 1 << 17,
  DirtyRepr = 1 << 18, DirtyRenderTag = 1 << 19, DirtyComputationPrimvarDesc = 1 << 20, DirtyCategories = 1 << 21,
  DirtyVolumeField = 1 << 22, AllSceneDirtyBits = ((1<<23) - 1), NewRepr = 1 << 23, CustomBitsBegin = 1 << 24,
  CustomBitsEnd = 1 << 30
}
 
enum  TaskDirtyBits : HdDirtyBits { DirtyType = 1 << 1, DirtyParams = 1 << 2, DirtyCollection = 1 << 3, DirtyRenderTags = 1 << 4 }
 

Public Member Functions

Rprim Object Tracking
HD_API void RprimInserted (SdfPath const &id, HdDirtyBits initialDirtyState)
 Start tracking Rprim with the given id. More...
 
HD_API void RprimRemoved (SdfPath const &id)
 Stop tracking Rprim with the given id. More...
 
Instancer Object Tracking
HD_API void InstancerInserted (SdfPath const &id)
 Start tracking Instancer with the given id. More...
 
HD_API void InstancerRemoved (SdfPath const &id)
 Stop tracking Instancer with the given id. More...
 
HD_API void AddInstancerRprimDependency (SdfPath const &instancerId, SdfPath const &rprimId)
 Insert a dependency between rprimId and parent instancer instancerId. More...
 
HD_API void RemoveInstancerRprimDependency (SdfPath const &instancerId, SdfPath const &rprimId)
 Remove a dependency between rprimId and parent instancer instancerId. More...
 
HD_API void AddInstancerInstancerDependency (SdfPath const &parentInstancerId, SdfPath const &instancerId)
 Insert a dependency between instancerId and parent instancer parentInstancerId. More...
 
HD_API void RemoveInstancerInstancerDependency (SdfPath const &parentInstancerId, SdfPath const &instancerId)
 Remove a dependency between instancerId and parent instancer parentInstancerId. More...
 
Task Object Tracking
HD_API void TaskInserted (SdfPath const &id, HdDirtyBits initialDirtyState)
 Start tracking Task with the given id. More...
 
HD_API void TaskRemoved (SdfPath const &id)
 Stop tracking Task with the given id. More...
 
HD_API void MarkTaskDirty (SdfPath const &id, HdDirtyBits bits=AllDirty)
 Set the dirty flags to bits. More...
 
HD_API HdDirtyBits GetTaskDirtyBits (SdfPath const &id)
 Get the dirty bits for Task with the given id. More...
 
HD_API void MarkTaskClean (SdfPath const &id, HdDirtyBits newBits=Clean)
 Set the dirty flags to newBits. More...
 
HD_API void MarkRenderTagsDirty ()
 Called to flag when the set of active render tags have changed. More...
 
HD_API unsigned GetRenderTagVersion () const
 Retrieve the current version number of the render tag set. More...
 
Instancer State Tracking
HD_API HdDirtyBits GetInstancerDirtyBits (SdfPath const &id)
 Returns the dirty bits for the instancer with id. More...
 
HD_API void MarkInstancerDirty (SdfPath const &id, HdDirtyBits bits=AllDirty)
 Flag the Instancer with the given id as being dirty. More...
 
HD_API void MarkInstancerClean (SdfPath const &id, HdDirtyBits newBits=Clean)
 Clean the specified dirty bits for the instancer with id. More...
 
Sprim (scene state prim: camera, light, ...) state Tracking
HD_API void SprimInserted (SdfPath const &id, HdDirtyBits initialDirtyState)
 Start tracking sprim with the given id. More...
 
HD_API void SprimRemoved (SdfPath const &id)
 Stop tracking sprim with the given id. More...
 
HD_API HdDirtyBits GetSprimDirtyBits (SdfPath const &id)
 Get the dirty bits for sprim with the given id. More...
 
HD_API void MarkSprimDirty (SdfPath const &id, HdDirtyBits bits)
 Set the dirty flags to bits. More...
 
HD_API void MarkSprimClean (SdfPath const &id, HdDirtyBits newBits=Clean)
 Set the dirty flags to newBits. More...
 
Bprim (buffer prim: texture, buffer, ...) state Tracking
HD_API void BprimInserted (SdfPath const &id, HdDirtyBits initialDirtyState)
 Start tracking bprim with the given id. More...
 
HD_API void BprimRemoved (SdfPath const &id)
 Stop tracking bprim with the given id. More...
 
HD_API HdDirtyBits GetBprimDirtyBits (SdfPath const &id)
 Get the dirty bits for bprim with the given id. More...
 
HD_API void MarkBprimDirty (SdfPath const &id, HdDirtyBits bits)
 Set the dirty flags to bits. More...
 
HD_API void MarkBprimClean (SdfPath const &id, HdDirtyBits newBits=Clean)
 Set the dirty flags to newBits. More...
 
GarbageCollection Tracking
void ClearGarbageCollectionNeeded ()
 Clears the garbageCollectionNeeded flag. More...
 
void SetGarbageCollectionNeeded ()
 Sets the garbageCollectionNeeded flag. More...
 
bool IsGarbageCollectionNeeded () const
 Returns true if garbage collection was flagged to be run. More...
 
void ClearBprimGarbageCollectionNeeded ()
 
void SetBprimGarbageCollectionNeeded ()
 Sets the garbageCollectionNeeded flag. More...
 
bool IsBprimGarbageCollectionNeeded () const
 Returns true if garbage collection was flagged to be run. More...
 
RprimCollection Tracking
HD_API void AddCollection (TfToken const &collectionName)
 Adds a named collection for tracking. More...
 
HD_API void MarkCollectionDirty (TfToken const &collectionName)
 Marks a named collection as being dirty, this bumps the version of the collection. More...
 
HD_API unsigned GetCollectionVersion (TfToken const &collectionName) const
 Returns the current version of the named collection. More...
 
HD_API unsigned GetVisibilityChangeCount () const
 Returns the number of changes to visibility. More...
 
unsigned GetVaryingStateVersion () const
 Returns the current version of varying state. More...
 
HD_API void MarkBatchesDirty ()
 Marks all batches dirty, meaning they need to be validated and potentially rebuilt. More...
 
HD_API unsigned GetBatchVersion () const
 Returns the current batch version. More...
 
Render Index Versioning
unsigned GetRprimIndexVersion () const
 Returns the current version of the Render Index's RPrim set. More...
 
unsigned GetSprimIndexVersion () const
 Returns the current version of the Render Index's SPrim set. More...
 
unsigned GetBprimIndexVersion () const
 Returns the current version of the Render Index's BPrim set. More...
 
unsigned GetInstancerIndexVersion () const
 Returns the current version of the Render Index's Instancer set. More...
 
unsigned GetSceneStateVersion () const
 Returns the current version of the scene state. More...
 
General state tracking
HD_API void AddState (TfToken const &name)
 Adds a named state for tracking. More...
 
HD_API void MarkStateDirty (TfToken const &name)
 Marks a named state as being dirty., this bumps the version of the state. More...
 
HD_API unsigned GetStateVersion (TfToken const &name) const
 Returns the current version of the named state. More...
 

Static Public Member Functions

Debug
static HD_API std::string StringifyDirtyBits (HdDirtyBits dirtyBits)
 
static HD_API void DumpDirtyBits (HdDirtyBits dirtyBits)
 

Rprim State Tracking

HD_API HdDirtyBits GetRprimDirtyBits (SdfPath const &id) const
 Returns the dirty bits for the rprim with id. More...
 
HD_API void MarkRprimDirty (SdfPath const &id, HdDirtyBits bits=AllDirty)
 Flag the Rprim with the given id as being dirty. More...
 
HD_API void MarkRprimClean (SdfPath const &id, HdDirtyBits newBits=Clean)
 Clear the dirty flags for an HdRprim. More...
 
HD_API void MarkPrimvarDirty (SdfPath const &id, TfToken const &name)
 Mark the primvar for the rprim with id as being dirty. More...
 
HD_API void MarkAllRprimsDirty (HdDirtyBits bits)
 Flag all the Rprim with the given id as being dirty. More...
 
HD_API void ResetVaryingState ()
 Clear Varying bit of all prims. More...
 
HD_API void ResetRprimVaryingState (SdfPath const &id)
 Reset the varying state on one Rprim This is done for Rprims, where we choose not to clean them (due to state like invisibility). More...
 
HD_API bool IsRprimDirty (SdfPath const &id)
 Returns true if the rprim identified by id has any dirty flags set. More...
 
HD_API bool IsExtentDirty (SdfPath const &id)
 Returns true if the rprim identified by id has a dirty extent. More...
 
HD_API bool IsDisplayStyleDirty (SdfPath const &id)
 Returns true if the rprim identified by id has a dirty display style. More...
 
HD_API bool IsPrimvarDirty (SdfPath const &id, TfToken const &name)
 Returns true if the rprim identified by id with primvar name is dirty. More...
 
HD_API bool IsAnyPrimvarDirty (SdfPath const &id)
 Returns true if the rprim identified by id has any dirty primvars. More...
 
HD_API bool IsTopologyDirty (SdfPath const &id)
 Returns true if the rprim identified by id has a dirty topology. More...
 
HD_API bool IsDoubleSidedDirty (SdfPath const &id)
 Returns true if the rprim identified by id has dirty doubleSided state. More...
 
HD_API bool IsCullStyleDirty (SdfPath const &id)
 Returns true if the rprim identified by id has dirty cullstyle. More...
 
HD_API bool IsSubdivTagsDirty (SdfPath const &id)
 Returns true if the rprim identified by id has a dirty subdiv tags. More...
 
HD_API bool IsTransformDirty (SdfPath const &id)
 Returns true if the rprim identified by id has a dirty transform. More...
 
HD_API bool IsVisibilityDirty (SdfPath const &id)
 Returns true if the rprim identified by id has dirty visibility. More...
 
HD_API bool IsPrimIdDirty (SdfPath const &id)
 Returns true if the rprim identified by id has a dirty primID. More...
 
static bool IsDirty (HdDirtyBits dirtyBits)
 Returns true if the dirtyBits has any flags set other than the varying flag. More...
 
static bool IsClean (HdDirtyBits dirtyBits)
 Returns true if the dirtyBits has no flags set except the varying flag. More...
 
static bool IsVarying (HdDirtyBits dirtyBits)
 Returns true if the dirtyBits has no flags set except the varying flag. More...
 
static HD_API bool IsExtentDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has a dirty extent. id is for perflog. More...
 
static HD_API bool IsDisplayStyleDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has a dirty display style. id is for perflog. More...
 
static HD_API bool IsSubdivTagsDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has a dirty subdiv tags. id is for perflog. More...
 
static HD_API bool IsPrimvarDirty (HdDirtyBits dirtyBits, SdfPath const &id, TfToken const &name)
 Returns true if the dirtyBits has a dirty primvar name. More...
 
static HD_API bool IsAnyPrimvarDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has any dirty primvars. More...
 
static HD_API bool IsTopologyDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has a dirty topology. id is for perflog. More...
 
static HD_API bool IsDoubleSidedDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has dirty doubleSided state. id is for perflog. More...
 
static HD_API bool IsCullStyleDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has dirty cullstyle. id is for perflog. More...
 
static HD_API bool IsTransformDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has a dirty transform. id is for perflog. More...
 
static HD_API bool IsVisibilityDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has dirty visibility. id is for perflog. More...
 
static HD_API bool IsPrimIdDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has a dirty primID. id is for perflog. More...
 
static HD_API bool IsInstancerDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has a dirty instancer. id is for perflog. More...
 
static HD_API bool IsInstanceIndexDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 Returns true if the dirtyBits has a dirty instance index. id is for perflog. More...
 
static HD_API bool IsReprDirty (HdDirtyBits dirtyBits, SdfPath const &id)
 
static HD_API void MarkPrimvarDirty (HdDirtyBits *dirtyBits, TfToken const &name)
 Set the primvar dirty flag to dirtyBits. More...
 

Detailed Description

Tracks changes from the HdSceneDelegate, providing invalidation cues to the render engine.

Changes flagged here are accumulated until the next time resource associated with the change is required, at which point the resource is updated and the flag is cleared.

Definition at line 49 of file changeTracker.h.

Member Function Documentation

HD_API void AddCollection ( TfToken const &  collectionName)

Adds a named collection for tracking.

HD_API void AddInstancerInstancerDependency ( SdfPath const &  parentInstancerId,
SdfPath const &  instancerId 
)

Insert a dependency between instancerId and parent instancer parentInstancerId.

Changes to the latter mark the former with DirtyInstancer.

HD_API void AddInstancerRprimDependency ( SdfPath const &  instancerId,
SdfPath const &  rprimId 
)

Insert a dependency between rprimId and parent instancer instancerId.

Changes to the latter mark the former with DirtyInstancer.

HD_API void AddState ( TfToken const &  name)

Adds a named state for tracking.

HD_API void BprimInserted ( SdfPath const &  id,
HdDirtyBits  initialDirtyState 
)

Start tracking bprim with the given id.

HD_API void BprimRemoved ( SdfPath const &  id)

Stop tracking bprim with the given id.

void ClearGarbageCollectionNeeded ( )
inline

Clears the garbageCollectionNeeded flag.

Definition at line 455 of file changeTracker.h.

HD_API unsigned GetBatchVersion ( ) const

Returns the current batch version.

HD_API HdDirtyBits GetBprimDirtyBits ( SdfPath const &  id)

Get the dirty bits for bprim with the given id.

unsigned GetBprimIndexVersion ( ) const
inline

Returns the current version of the Render Index's BPrim set.

This version number changes when Bprims are inserted or removed from the render index. Invalidating any cached gather operations.

Definition at line 548 of file changeTracker.h.

HD_API unsigned GetCollectionVersion ( TfToken const &  collectionName) const

Returns the current version of the named collection.

HD_API HdDirtyBits GetInstancerDirtyBits ( SdfPath const &  id)

Returns the dirty bits for the instancer with id.

unsigned GetInstancerIndexVersion ( ) const
inline

Returns the current version of the Render Index's Instancer set.

This version number changes when Instancers are inserted or removed from the render index. Invalidating any cached gather operations.

Definition at line 555 of file changeTracker.h.

HD_API unsigned GetRenderTagVersion ( ) const

Retrieve the current version number of the render tag set.

HD_API HdDirtyBits GetRprimDirtyBits ( SdfPath const &  id) const

Returns the dirty bits for the rprim with id.

unsigned GetRprimIndexVersion ( ) const
inline

Returns the current version of the Render Index's RPrim set.

This version number changes when Rprims are inserted or removed from the render index. Invalidating any cached gather operations.

Definition at line 534 of file changeTracker.h.

unsigned GetSceneStateVersion ( ) const
inline

Returns the current version of the scene state.

This version number changes whenever any prims are inserted, removed or marked dirty. The use case is to detect that nothing has changed, so the Sync phase can be avoided.

Definition at line 565 of file changeTracker.h.

HD_API HdDirtyBits GetSprimDirtyBits ( SdfPath const &  id)

Get the dirty bits for sprim with the given id.

unsigned GetSprimIndexVersion ( ) const
inline

Returns the current version of the Render Index's SPrim set.

This version number changes when Sprims are inserted or removed from the render index. Invalidating any cached gather operations.

Definition at line 541 of file changeTracker.h.

HD_API unsigned GetStateVersion ( TfToken const &  name) const

Returns the current version of the named state.

HD_API HdDirtyBits GetTaskDirtyBits ( SdfPath const &  id)

Get the dirty bits for Task with the given id.

unsigned GetVaryingStateVersion ( ) const
inline

Returns the current version of varying state.

This is used to refresh cached DirtyLists

Definition at line 512 of file changeTracker.h.

HD_API unsigned GetVisibilityChangeCount ( ) const

Returns the number of changes to visibility.

This is intended to be used to detect when visibility has changed for any Rprim.

HD_API void InstancerInserted ( SdfPath const &  id)

Start tracking Instancer with the given id.

HD_API void InstancerRemoved ( SdfPath const &  id)

Stop tracking Instancer with the given id.

HD_API bool IsAnyPrimvarDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has any dirty primvars.

static HD_API bool IsAnyPrimvarDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has any dirty primvars.

id is for perflog.

bool IsBprimGarbageCollectionNeeded ( ) const
inline

Returns true if garbage collection was flagged to be run.

Currently, this flag only gets set internally when Rprims are removed.

Definition at line 481 of file changeTracker.h.

static bool IsClean ( HdDirtyBits  dirtyBits)
inlinestatic

Returns true if the dirtyBits has no flags set except the varying flag.

Definition at line 225 of file changeTracker.h.

HD_API bool IsCullStyleDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has dirty cullstyle.

static HD_API bool IsCullStyleDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has dirty cullstyle. id is for perflog.

static bool IsDirty ( HdDirtyBits  dirtyBits)
inlinestatic

Returns true if the dirtyBits has any flags set other than the varying flag.

Definition at line 220 of file changeTracker.h.

HD_API bool IsDisplayStyleDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has a dirty display style.

static HD_API bool IsDisplayStyleDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has a dirty display style. id is for perflog.

HD_API bool IsDoubleSidedDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has dirty doubleSided state.

static HD_API bool IsDoubleSidedDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has dirty doubleSided state. id is for perflog.

HD_API bool IsExtentDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has a dirty extent.

static HD_API bool IsExtentDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has a dirty extent. id is for perflog.

bool IsGarbageCollectionNeeded ( ) const
inline

Returns true if garbage collection was flagged to be run.

Currently, this flag only gets set internally when Rprims are removed.

Definition at line 466 of file changeTracker.h.

static HD_API bool IsInstanceIndexDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has a dirty instance index. id is for perflog.

static HD_API bool IsInstancerDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has a dirty instancer. id is for perflog.

HD_API bool IsPrimIdDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has a dirty primID.

static HD_API bool IsPrimIdDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has a dirty primID. id is for perflog.

HD_API bool IsPrimvarDirty ( SdfPath const &  id,
TfToken const &  name 
)

Returns true if the rprim identified by id with primvar name is dirty.

static HD_API bool IsPrimvarDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id,
TfToken const &  name 
)
static

Returns true if the dirtyBits has a dirty primvar name.

id is for perflog.

HD_API bool IsRprimDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has any dirty flags set.

HD_API bool IsSubdivTagsDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has a dirty subdiv tags.

static HD_API bool IsSubdivTagsDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has a dirty subdiv tags. id is for perflog.

HD_API bool IsTopologyDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has a dirty topology.

static HD_API bool IsTopologyDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has a dirty topology. id is for perflog.

HD_API bool IsTransformDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has a dirty transform.

static HD_API bool IsTransformDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has a dirty transform. id is for perflog.

static bool IsVarying ( HdDirtyBits  dirtyBits)
inlinestatic

Returns true if the dirtyBits has no flags set except the varying flag.

Definition at line 230 of file changeTracker.h.

HD_API bool IsVisibilityDirty ( SdfPath const &  id)

Returns true if the rprim identified by id has dirty visibility.

static HD_API bool IsVisibilityDirty ( HdDirtyBits  dirtyBits,
SdfPath const &  id 
)
static

Returns true if the dirtyBits has dirty visibility. id is for perflog.

HD_API void MarkAllRprimsDirty ( HdDirtyBits  bits)

Flag all the Rprim with the given id as being dirty.

Multiple calls with different dirty bits accumulate. Doesn't touch varying state.

HD_API void MarkBatchesDirty ( )

Marks all batches dirty, meaning they need to be validated and potentially rebuilt.

HD_API void MarkBprimClean ( SdfPath const &  id,
HdDirtyBits  newBits = Clean 
)

Set the dirty flags to newBits.

HD_API void MarkBprimDirty ( SdfPath const &  id,
HdDirtyBits  bits 
)

Set the dirty flags to bits.

HD_API void MarkCollectionDirty ( TfToken const &  collectionName)

Marks a named collection as being dirty, this bumps the version of the collection.

HD_API void MarkInstancerClean ( SdfPath const &  id,
HdDirtyBits  newBits = Clean 
)

Clean the specified dirty bits for the instancer with id.

HD_API void MarkInstancerDirty ( SdfPath const &  id,
HdDirtyBits  bits = AllDirty 
)

Flag the Instancer with the given id as being dirty.

Multiple calls with different dirty bits accumulate.

HD_API void MarkPrimvarDirty ( SdfPath const &  id,
TfToken const &  name 
)

Mark the primvar for the rprim with id as being dirty.

static HD_API void MarkPrimvarDirty ( HdDirtyBits *  dirtyBits,
TfToken const &  name 
)
static

Set the primvar dirty flag to dirtyBits.

HD_API void MarkRenderTagsDirty ( )

Called to flag when the set of active render tags have changed.

This can either be because either the Task's opinion (which resolves both view and render pass opinions) and a Prims opinion.

Calling this means that any cached prim gathers that filter by render tag need to invalidated.

HD_API void MarkRprimClean ( SdfPath const &  id,
HdDirtyBits  newBits = Clean 
)

Clear the dirty flags for an HdRprim.

if inSync is true, set OutOfSync flag to notify dirtyList will discover the prim to sync the residual data for new repr.

HD_API void MarkRprimDirty ( SdfPath const &  id,
HdDirtyBits  bits = AllDirty 
)

Flag the Rprim with the given id as being dirty.

Multiple calls with different dirty bits accumulate.

HD_API void MarkSprimClean ( SdfPath const &  id,
HdDirtyBits  newBits = Clean 
)

Set the dirty flags to newBits.

HD_API void MarkSprimDirty ( SdfPath const &  id,
HdDirtyBits  bits 
)

Set the dirty flags to bits.

HD_API void MarkStateDirty ( TfToken const &  name)

Marks a named state as being dirty., this bumps the version of the state.

HD_API void MarkTaskClean ( SdfPath const &  id,
HdDirtyBits  newBits = Clean 
)

Set the dirty flags to newBits.

HD_API void MarkTaskDirty ( SdfPath const &  id,
HdDirtyBits  bits = AllDirty 
)

Set the dirty flags to bits.

HD_API void RemoveInstancerInstancerDependency ( SdfPath const &  parentInstancerId,
SdfPath const &  instancerId 
)

Remove a dependency between instancerId and parent instancer parentInstancerId.

HD_API void RemoveInstancerRprimDependency ( SdfPath const &  instancerId,
SdfPath const &  rprimId 
)

Remove a dependency between rprimId and parent instancer instancerId.

HD_API void ResetRprimVaryingState ( SdfPath const &  id)

Reset the varying state on one Rprim This is done for Rprims, where we choose not to clean them (due to state like invisibility).

HD_API void ResetVaryingState ( )

Clear Varying bit of all prims.

The idea is that from frame to frame (update iteration), the set of dirty rprims and their dirty bits do not change; that is, the same rprims get dirtied with the same dirty bits.. The change tracker can leverage this and build stable sets of dirty lists and reduce the overall cost of an update iteration.

HD_API void RprimInserted ( SdfPath const &  id,
HdDirtyBits  initialDirtyState 
)

Start tracking Rprim with the given id.

HD_API void RprimRemoved ( SdfPath const &  id)

Stop tracking Rprim with the given id.

void SetBprimGarbageCollectionNeeded ( )
inline

Sets the garbageCollectionNeeded flag.

Definition at line 475 of file changeTracker.h.

void SetGarbageCollectionNeeded ( )
inline

Sets the garbageCollectionNeeded flag.

Definition at line 460 of file changeTracker.h.

HD_API void SprimInserted ( SdfPath const &  id,
HdDirtyBits  initialDirtyState 
)

Start tracking sprim with the given id.

HD_API void SprimRemoved ( SdfPath const &  id)

Stop tracking sprim with the given id.

HD_API void TaskInserted ( SdfPath const &  id,
HdDirtyBits  initialDirtyState 
)

Start tracking Task with the given id.

HD_API void TaskRemoved ( SdfPath const &  id)

Stop tracking Task with the given id.


The documentation for this class was generated from the following file: