USD ShaderAlgo : Support Arnold-USD's convention for array connections #1324
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
USDShade doesn't support connections in to indices within arrays (or for that matter, to the components of vectors or colors). It does support multiple connections to the same parameter, but as far as I can tell that seems to be peculiar to RenderMan/Pixar, and I have no idea what the expected semantics for multiple source connections are.
So, the arnold-usd project adopted a convention for storing indexed connections in USD, and that's what folks end up using if they export an Arnold shading network from Maya. This PR adds support for loading such connections, converting to our standard internal convention, and for converting them back on write.
See https://groups.google.com/g/gaffer-dev/c/9pcdwKzK4lE for the original bug report.