Skip to content

IECoreUSD : UsdGeomSubsets translation support for MeshPrimitive#1530

Open
boberfly wants to merge 1 commit intoImageEngine:mainfrom
boberfly:feature/usdGeomSubsets
Open

IECoreUSD : UsdGeomSubsets translation support for MeshPrimitive#1530
boberfly wants to merge 1 commit intoImageEngine:mainfrom
boberfly:feature/usdGeomSubsets

Conversation

@boberfly
Copy link
Copy Markdown
Contributor

@boberfly boberfly commented Apr 29, 2026

Generally describe what this PR will do, and why it is needed.

  • This will recognise UsdGeomSubset prims and translate them to Cortex as a PrimitiveVariable of StringVectorData named "geomSubset:<familyName>" with a uniform (per-face) index to the different UsdGeomSubset names that are a part of the familyName.
  • Not all kinds are supported only ones with a familyName authored and familyType of nonOverlapping and partition but not unrestricted, and only elementType of face and not edge or vertex. A warning will be flagged if any of those are detected and will ignore those. In the nonOverlapping case, the first index into the StringVectorData is an empty string that indicates that there are no GeomSubsets assigned to those faces.
  • The "geomSubset:materialBind" is special as this is the one that defines per-face shader assignment. Based on other implementations of hydra delegates, the familyName of "materialBind" is used for this purpose and the Cortex translation will detect any bound materials to these GeomSubsets and create these with a ":geomSubset:<nameOfSubset>" suffix onto the path with the MeshPrimitive.
  • All of this can round-trip back to USD form as well, except for the unsupported cases above which won't round-trip.

Related Issues

  • N/A

Dependencies

  • N/A

Breaking Changes

  • UsdGeomSubset prims will now translate in and out when they were ignored prior.

Checklist

  • I have read the contribution guidelines.
  • I have updated the documentation, if applicable.
  • I have tested my change(s) in the test suite, and added new test cases where necessary.
  • My code follows the Cortex project's prevailing coding style and conventions.

@boberfly boberfly force-pushed the feature/usdGeomSubsets branch from 0efadaf to 955534e Compare April 29, 2026 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant