PixarAnimationStudios / OpenUSD

Universal Scene Description
http://www.openusd.org
Other
6.03k stars 1.19k forks source link

Hydra draws all instances when it should draw only the first, none if others are requested #444

Open spitzak opened 6 years ago

spitzak commented 6 years ago

Description of Issue

If a stage contains several instances and UsdImagingGL::Render(prim...) is called with one of them, for the first one this draws all the instances, for the others it draws nothing.

UsdImagingGL::SetSelected(paths) is able to distinguish the instances and highlights the correct one.

Steps to Reproduce

usdview masks the stages to the requested set and uses the visibility attriibute to turn them on/off, so it cannot be used to test this. Easiest way is probably to modify usdview to call Render() with a particular prim instead of the PseudoRoot and then run it on a scene with instancing and no --mask switch.

System Information (OS, Hardware)

Linux

Package Versions

8.4

Build Flags

Consistent with gcc, icc, and debug and optimized builds.

jtran56 commented 6 years ago

Filed as internal issue #159138.

murphyeoin commented 5 years ago

Hello there, just wondering if this is likely to be resolved soon? Not trying to apply any pressure, but if it were coming soon, it would avoid us the development cost of implementing a workaround in AL_USDMaya. Thanks, Eoin

c64kernal commented 5 years ago

Hi @murphyeoin -- apologies about this, we're not actively working on it unfortunately. There's a big swath of issues with Hydra's implementation of instancing that we were hoping to tackle in one big project, currently slated for Q3 this year.

murphyeoin commented 5 years ago

@c64kernal - no worries, just checking. We will proceed with our original plan Thanks! Eoin