·
153 commits
to main
since this release
Added
- Added support for the fract node, with implementations in GLSL, OSL, and MDL.
- Added a bitangent input to the bump node, aligning its feature set with the normalmap node.
- Added support for OSL 1.14 in shader generation, leveraging the latest closures when available.
- Added support for MDL 1.10 in shader generation, leveraging the latest closures when available.
- Added initial support for data library builds, allowing future releases to generate derived artifacts from the MaterialX data libraries.
- Added an ElementVec type alias in MaterialX C++, allowing certain patterns to be expressed more clearly and concisely.
Changed
- Improved the compatibility of MaterialX shader generation with Hydra Storm.
- Refactored the type system in shader generation, improving the thread-safety and robustness of the generation process.
- Improved the implementations of the BSDF operator nodes, preferring data definitions over explicit C++ code.
- Improved the implementations of the time node, using a graph definition in hardware shading languages.
- Optimized GitHub CI to reduce build times for contributors.
- Raised the minimum CMake version to CMake 3.26.
Fixed
- Fixed two edge cases in the version upgrade logic for normalmap nodes, addressing the usage of MaterialX versioning in OpenUSD.
- Fixed tangent frame orthogonalization for the normalmap node in OSL shader generation.
- Added validation of tree depth and XInclude depth in XML parsing, addressing cases where unusually complex documents could trigger a stack overflow.
- Adding two missing null checks in the getShaderNodes helper function.
- Integrated fixes to OSL type classes from recent work in the OSL project.
- Improved the handling of invalid materials in the MaterialX Viewer, addressing cases where missing lights could trigger a crash.