[hd, usdImaging] Rework material binding schemata and resolution.
authorrajabala <rajabala@users.noreply.github.com>
Fri, 12 Jan 2024 18:34:29 +0000 (10:34 -0800)
committerpixar-oss <pixar-oss@users.noreply.github.com>
Fri, 12 Jan 2024 18:34:29 +0000 (10:34 -0800)
commit2d453071d4f020429690bf14b16313b45ec2e9fa
treec6b72d08670c277734625803ca1bd084087bcb6b
parentb27cbb80b6d776e645f704197603a917e92dbe37
[hd, usdImaging] Rework material binding schemata and resolution.

hd:
- Remove 'bindingStrength' from HdMaterialSchema. This is an authoring affordance that doesn't need to be transported to a render delegate.
- Update HD_API_VERSION.

usdImaging:
- Add schemata to represent direct and collection-based material bindings.
- Update materialBindingAPIAdapter to build and invalidate data sources based on the schemata.
- Move direct binding flattening from hd to usdImaging.
- Add a scene index to compute the resolved material bindings. Currently, it just wraps the flattened direct binding for a given purpose; this will be updated to factor in collection material bindings in a future change.

(Internal change: 2310706)
24 files changed:
pxr/imaging/hd/CMakeLists.txt
pxr/imaging/hd/flattenedDataSourceProviders.cpp
pxr/imaging/hd/flattenedMaterialBindingsDataSourceProvider.cpp [deleted file]
pxr/imaging/hd/flattenedMaterialBindingsDataSourceProvider.h [deleted file]
pxr/imaging/hd/materialBindingSchema.cpp
pxr/imaging/hd/materialBindingSchema.h
pxr/imaging/hd/version.h
pxr/usdImaging/usdImaging/CMakeLists.txt
pxr/usdImaging/usdImaging/collectionMaterialBindingSchema.cpp [new file with mode: 0644]
pxr/usdImaging/usdImaging/collectionMaterialBindingSchema.h [new file with mode: 0644]
pxr/usdImaging/usdImaging/collectionMaterialBindingsSchema.cpp [new file with mode: 0644]
pxr/usdImaging/usdImaging/collectionMaterialBindingsSchema.h [new file with mode: 0644]
pxr/usdImaging/usdImaging/directMaterialBindingSchema.cpp [new file with mode: 0644]
pxr/usdImaging/usdImaging/directMaterialBindingSchema.h [new file with mode: 0644]
pxr/usdImaging/usdImaging/directMaterialBindingsSchema.cpp [new file with mode: 0644]
pxr/usdImaging/usdImaging/directMaterialBindingsSchema.h [new file with mode: 0644]
pxr/usdImaging/usdImaging/drawModeStandin.cpp
pxr/usdImaging/usdImaging/flattenedDataSourceProviders.cpp
pxr/usdImaging/usdImaging/flattenedDirectMaterialBindingsDataSourceProvider.cpp [new file with mode: 0644]
pxr/usdImaging/usdImaging/flattenedDirectMaterialBindingsDataSourceProvider.h [new file with mode: 0644]
pxr/usdImaging/usdImaging/materialBindingAPIAdapter.cpp
pxr/usdImaging/usdImaging/materialBindingsResolvingSceneIndex.cpp [new file with mode: 0644]
pxr/usdImaging/usdImaging/materialBindingsResolvingSceneIndex.h [new file with mode: 0644]
pxr/usdImaging/usdImaging/sceneIndices.cpp