Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[Hydra] Changing primvars always causes a full prim resync #1078

Closed
marktucker opened this issue Jan 3, 2020 · 1 comment
Closed

[Hydra] Changing primvars always causes a full prim resync #1078

marktucker opened this issue Jan 3, 2020 · 1 comment

Comments

@marktucker
Copy link
Contributor

Description of Issue

Changing a primvar in any way (adding or removing a primvar, changing a primvar value, changing primvar interpolation, changing a primvar value or interpolation of an inherited primvar, etc) all cause a full hydra resync of the prim and all its children (because of possible primvar inheritance). Instead, a simple DirtyPrimvar change should be enough to resync the prim(s).

This change will likely cause problems for some render delegates that currently rely on a full resync when primvars are added or removed (and note the persistent nature of the primvar descriptors in the value cache - there is no way to remove a primvar from the desriptors stored in the cache). I would prefer if it were up to the render delegate to handle the adding/removal of a primvar without a full resync, even if this did require updating some delegates...

Steps to Reproduce

  1. Set TF_DEBUG=USDIMAGING_CHANGES
  2. Load the attached file into usdview:
    sphere.zip
  3. In the interpreter run the following code to change a primvar value:
    a = usdviewApi.stage.GetObjectAtPath("/geo.primvars:foo")
    a.Set(1.0)
  4. Notice the messages about repopulating /geo/sphere/mesh_0. Ideally this would just cause a DirtyPrimvar change notification sent to the Sync function for the rprim. See the discussion on https://groups.google.com/forum/#!topic/usd-interest/vdCorI2iFuI

Package Versions

USD 19.11

@jilliene
Copy link

jilliene commented Jan 6, 2020

Filed as internal issue #USD-5775

pixar-oss pushed a commit that referenced this issue Mar 9, 2020
- Adds and removes a primvar that is consumed by the material (using a fallback value).
- Adds/removes primvars that aren't used by the material.

See #1078

(Internal change: 2047501)
(Internal change: 2047897)
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants