-
Notifications
You must be signed in to change notification settings - Fork 366
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
UsdPreviewSurface opacityThreshold
implementation does not match the specification
#2044
Comments
This sounds like an important difference to resolve, thanks @ld-kerley, and I'm CC'ing @klucknav for her expertise in this area. If there's broad agreement that the MaterialX graph needs to change, then we can make this update in a pull request. |
I'll defer to @klucknav on which behavior is canonical for UsdPreviewSurface, and as one additional reference point, we previously collaborated with Karen and Spiff on an update to the opacity threshold behavior in the MaterialX graph for UsdPreviewSurface: At the time, we believed this brought the MaterialX graph for UsdPreviewSurface into alignment with the specification, but it's very possible that we missed an edge case. |
Looks like my example zip file didn't get attached... |
This change looks good to me and fixes the case where opacity < 1 and opacity >= opacityThreshold. They now look fully opaque as they should. Thank you! |
…oundation#2044. It also updates the nodegraph to reflect the recently updated PreviewSurface v2.5 which removes specular highlights for fully transparent materials.
This PR fixes the cutout issue described in gitIssue #2044. It also updates the nodegraph to reflect the recently updated PreviewSurface v2.6 which removes specular highlights for fully transparent materials.
Thanks for this original report, @ld-kerley, as well as to @klucknav for the fix in #2081! |
This PR updates the PreviewSurface nodegraph to address the opacity issue in cutout mode described in gitIssue #2044. It also updates the nodegraph to reflect the recently updated PreviewSurface v2.6 spec which adds an `opacityMode` attribute, to control the lighting response that fully transparent materials receive. Since the default behavior for this attribute is that fully transparent materials receive a lighting response, the PreviewSurface glass example remains unchanged.
The specification for
UsdPreviewSurface
states the following...Currently the MaterialX
UsdPreviewSurface
implementation always blends thediffuse_bsdf
andtransmission_bsdf
nodes based on the value ofopacity
.Which is incorrect. If
opacityThreshold > 0
, then the material should be in "masking" mode and only cut-out the surface, not blend through it.I believe the fix would look something like this....
The text was updated successfully, but these errors were encountered: