PixarAnimationStudios / OpenUSD

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

Autodesk: Deep Selection #3044

Open erikaharrison-adsk opened 1 month ago

erikaharrison-adsk commented 1 month ago

Description of Change(s)

Following up on the feedback from https://github.com/PixarAnimationStudios/OpenUSD/pull/1831

This resolves all code review comments indicated in the original review.

Background On Original PR:

This submission adds deep selection capabilities to HdStorm. This allows for selection of all objects within a pick-point or frustum to be selected even if the objects are obscured by other objects drawn on top.

It uses a GPU rendering technique similar to ID based picking except that it accummulates all pick results into a one dimensional "pickBuffer" instead of storing a single selection per pixel like the ID buffer approach does.

It can be enabled by setting a new resolve mode defined as HdxPickTokens->resolveDeep.

A new helper function named TestIntersections(plural) has been added to UsdImagingGlEngine to exercise the new functionality. A new Unit test is included to test the new resolve mode and UsdImagingGLEngine helper function.

Fixes Issue(s)

jesschimein commented 4 weeks ago

Filed as internal issue #USD-9558

jesschimein commented 4 weeks ago

/AzurePipelines run

azure-pipelines[bot] commented 4 weeks ago
Azure Pipelines successfully started running 1 pipeline(s).