-
Notifications
You must be signed in to change notification settings - Fork 351
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
Add 'bitangent' input to 'normalmap' node #945
Comments
@pablode This sounds like a good proposal to me, and it's more general-purpose than the alternative of supporting a |
Hello! Just wanted to ask if this proposal has been discussed in the context of an upcoming version of the spec? I believe @kwokcb might be interested in this too, since it's required for truthful support of glTF normal mapping. |
@pablode I do think this feature should be included in the 1.39 specification, and it should be safe to implement it in an upcoming 1.38 point release, since its functionality is purely additive. Would you be interested in proposing the language for this feature in the 1.39 specification? If so, then reach out to @dbsmythe on the ASWF Slack to get access to the in-progress document. |
Unfortunately, I don't think this change can be treated as purely additive. This may be true for nearly all uses in the wild, however, it is only the case for default normal and tangent input values. If the user has connected nodes to these inputs, a The change in the spec should should be minimal, and I'll contact Doug about that, thanks! I can also set up a draft PR with the implementation which can be merged once 1.39 is released. |
The normalmap node always calculates the bitangent and ignores existing bitangent data:
MaterialX/libraries/stdlib/genglsl/mx_normalmap.glsl
Lines 9 to 11 in 46de5f9
While doing so, it makes a hard assumption on the handedness of the tangent space, which isn't necessarily shared by other standards (such as glTF).
A
bitangent
input should therefore be added to the normalmap node with a default value of Bworld.The text was updated successfully, but these errors were encountered: