-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3Delight ShaderNetworkAlgo : Translate UsdPreviewSurface to 3Delight #5822
3Delight ShaderNetworkAlgo : Translate UsdPreviewSurface to 3Delight #5822
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Murray!
This seems to be working pretty nicely, at least using 3Delight 2.9.79. I started my initial testing in 2.9.39 and took a while to figure out that UsdPrimvarReader_float2->UsdUVTexture
was completely broken in that version for some reason. Not something I think we need to look into further, but something to bear in mind if folks run into problems in other versions. It'd be handy if 3Delight actually had a change log so we weren't left to guesswork...
One small problem I found is an error when rendering https://github.com/usd-wg/assets/tree/main/test_assets/AlphaBlendModeTest, along with the rightmost 3 cards not showing up :
ERROR : 3Delight : ConnectShaders: badly formed source layer/parameter
ERROR : group: unnamed_group_143
ERROR : 3Delight : ConnectShaders: badly formed source layer/parameter
ERROR : group: unnamed_group_149
ERROR : 3Delight : ConnectShaders: badly formed source layer/parameter
ERROR : group: unnamed_group_155
Might be worth digging into that one a little before we merge...
Cheers...
John
8c81294
to
645052f
Compare
Thanks for flagging this, I took a quick look at this and narrowed it down to a change in behaviour of the dlPrimitiveAttribute shader used in place of UsdPrimvarReader_float2. Somewhere between 2.9.51 and 2.9.73 dlPrimitiveAttribute changed to default to a new "auto" For maximum compatibility I'm now setting |
`{param}_meta_colorspace` is a 3Delight convention for declaring the input colorspace of the texture at `{param}`. From the 3Delight docs: In NSI `textureName.meta.colorspace` indicates the color space for the texture designated by `textureName`. Any available OCIO color space can be used. The following presets are recognised: linear, rec.709, sRGB.
3Delight doesn't handle the `<UDIM>` convention, which is commonly authored in texture paths in USD assets.
645052f
to
fce4876
Compare
Thanks Murray! Squashed and merged... |
This adds render-time conversion of UsdPreviewSurface shaders to 3Delight, bringing this functionality to all of our natively supported renderers.