I note that UsdGeomPoints has a “Ids” attribute like the UsdGeomPointInstancer, but I don’t see any API affordance for getting back a particular point’s Id in TestIntersection() like I can for a PointInstancer’s points.
Is this something that would be straightforward to implement or are their hidden performance gotchas that make it harder than what’s happening for point instances?
Reclassifying as Hydra, though I can’t think of any way in which there would be gotchas that do not apply to PI’s?
Right now usdview only supports picking & highlighting at the prim/instance level, so the APIs don’t have any affordances for “element” picking (i.e. faces, edges, points). All of the hydra support is there, though; just the API is discarding data. Adding support for element picking to TestIntersection is pretty straightforward; adding element picking semantics to usdview at a UI level is more complex, of course.
Some users of UsdImagingGLEngine (such as the maya integration) have subclassed that API and extended TestIntersection to return the missing information. We also have plans to extend TestIntersection to be more general, as well; we don’t have a firm date yet but if this is a blocker for you let us know.