Description
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.