Hi,
We are just experimenting with Hydra 2.0 and wanted to understand what the behaviour of the HdInstancer::Sync() would be in Hydra 2.0. In Hydra 1.x, the behaviour of the Sync() is that it is triggered from any HdRPrim prototype through the _SyncInstancerAndParents() callback offered as part of the RPrim implementation.
As this can be triggered by multiple RPrim prototypes, we have some protection in place within our HdInstancer implementation for our delegate to prevent multiple updates in parallel. We were wondering whether this would be handled more natively by the Hydra engine, as it does for HdInstancer::Finalize(). This would remove any need for rprims to trigger the syncs and we can be confident that the HdInstancer::Sync() function would only be called once.
I understand that Hydra 2.0 will give a lot more functionality to interact with the unflattened scene graph through the HdSceneIndex, but it would be good to understand how we handle the syncing of the HdInstancer objects in the future as well.
Thanks in advance.
Kind regards,
Girish