Skip to content

Instances show up in duplicate HdPrims in Hydra Scene Index mode #3563

Open
@marktucker

Description

@marktucker

Open the attached file in usdview in scene index mode:
sphere.zip
export USDIMAGINGGL_ENGINE_ENABLE_SCENE_INDEX=1; usdview sphere.usda

In the interpreter window, run:

p = usdviewApi.stage.GetPrimAtPath('/things')
p.SetInstanceable(True)
x = UsdGeom.Xformable(p)
t = x.AddTranslateXOp()
t.Set(1.0)

See that there are two spheres, not one. This happens with all render delegates. The problem is that the renderer is told to create a mesh call /__Prorotype_1/sphere, and then to also create a mesh called /some/really/long/path/related/to/instancing. The second path is the correct one for the instanced mesh, the first one should not be there. Interestingly, the /__Prototype_a/sphere mesh does not show up in the Hydra Scene Browser.

This bug can be eliminated by reverting b4112c7 which was to fix #3261 (see also #3263 for some discussion).

FWIW I suspect that the actual bug isn't in that code, but in one of the "earlier" scene indices in the stack (probably related to native instancing) not behaving properly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions