IECoreScene : Spline collapse/expand support for native renderer nodes Arnold/Renderman #1450
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.
Generally describe what this PR will do, and why it is needed.
ramp_rgb
andramp_float
nodes and not any htoa/mtoa native nodes currentlyri:surface
/C++ based and OSL-based, so these need to be checked for and not modify existing OSL naming conventions for splines (eg. if the OSL shader name has thePxr
prefix it'll use this convention).Related Issues
Dependencies
Breaking Changes
collapseSplineParameters
andexpandSplineParameters
by addingshaderType
andshaderName
arguments, but it looks like these functions may just go private intocollapseSplines
/expandSplines
? Looks like IECoreArnold uses it still.Checklist
I wanted to use the CI facilities for this one to see if my unit tests work - I need to make a Cortex-specific Rez pack to do better testing on my end still...
TODO : Arnold splines/ramps probably don't need the duplicated knots at the start/ends but I am not sure what it prefers yet, need to test mtoa/htoa or ArnoldUSD...
Also there's some potential round-trip data loss as MonotoneCubic doesn't exist in Cortex but it does exist in Gaffer, so I'm not too sure how to deal with this yet.
Also also: Arnold supports an array of different interpolation/basis per-position, this code only supports one for the whole spline, but I think other well-known DCCs do this also.