Setting volume as dirty doesn't refresh in S22 or R23.



  • I have a VolumeObject that is returned as a call to GetVirtualObjects.

    Inside GetVirtualObjects I load in a new vdb file from disk and call the following...

    _volumeObject->SetVolume(volume);

    _volumeObject->SetDirty(DIRTYFLAGS::ALL);

    This work for R20 and R21. But not in S22 or R23.

    Any ideas what might be wrong? Is there some other flag I need to set to make the viewport detect a change to the VolumeObject and make it update?

    How does the VolumeLoader update the viewport when it loads in a new VDB? I will need to do the same thing for my Object.

    What flags does the VolumeLoader set when it is registered? Perhaps I need to add a new flag?

    Thanks,
    Kent



  • Hi @kbar I'm able to reproduce the issue and I've opened a new bug report about it.
    The only workaround is to return a new VolumeObject each time.

    Cheers,
    Maxime.