MaterialX
MaterialX copied to clipboard
Clarify 'normalmap' node specification
The spec says:
normalmap: transform a normal vector from object or tangent space into "world" space.
in(vector3): the input vector; default is (0.5, 0.5, 1.0).
I think it should be clarified that this node expects a vector in range [0, 1] and transforms it to range [-1, 1].
Secondly, looking at the implementation, whether it transforms into world space or not depends on the normal and tangent input vectors (which happen to be in world space by default). And they are ignored if the source space is 'object'.
@pablode These are good notes, and they are partially addressed in the current draft of the 1.39 specification.
@dbsmythe Can we give Pablo review access to the current specification draft, so that his additional notes can be considered here?
Thanks for this original proposal, @pablode, and I believe it has now been integrated into the Math Nodes section of the MaterialX 1.39 specification:
https://github.com/AcademySoftwareFoundation/MaterialX/blob/main/documents/Specification/MaterialX.Specification.md#math-nodes
Since the MaterialX specification is now stored as GitHub Markdown, feel free to propose any additional refinements directly to the text, and I'll mark this proposal as resolved.