Added
- Added support for WebGPU Shading Language in MaterialX shader generation.
- Added support for hex-tiled images, with initial implementations in hardware shading languages and MDL.
- Added support for latitude-longitude images, implemented as a language-independent graph.
- Added support for 2D fractals, with initial implementations in hardware shading languages, OSL, and MDL.
- Added support for NanoColor names in default color space management.
- Added support for custom OCIO configurations in shader generation.
- Added support for anisotropy in the graph definition of glTF PBR.
- Added support for the time and frame nodes in the MaterialX Viewer and MaterialX Graph Editor.
- Added support for node output types in document validation.
- Added the first animated material example to the MaterialX test suite.
- Added the first UDIM texture example to the MaterialX test suite.
Changed
- Raised the minimum Python version to Python 3.9.
- Raised the minimum OpenImageIO version to OIIO 2.2.
- Raised the default PyBind11 version to PyBind11 2.13.6.
- Optimized the graph definitions of Standard Surface, OpenPBR Surface, and glTF PBR in hardware shading languages, roughly halving the fill cost for these shading models in GLSL, ESSL, and MSL.
- Optimized the implementation of height-correlated Smith masking-shadowing in GLSL.
- Aligned implementations of the heighttonormal node beween GLSL and OSL, improving visual consistency and enabling support for arbitrary procedural heightfields.
- Deprecated the fps input of the time node, allowing it to be removed in a future specification update.
- Updated the default NanoGUI version in the MaterialX Viewer to enable builds with CMake 4.
- Improved the workflow for adding nodes in the MaterialX Graph Editor.
- Aligned viewport background colors across the MaterialX Viewer and MaterialX Graph Editor.
Fixed
- Fixed the handling of UI display color spaces in the MaterialX Viewer and MaterialX Graph Editor.
- Fixed a crash with multioutput nodes in the MaterialX Graph Editor.
- Fixed a race condition in the setting of format options for multithreaded shader generation.
- Fixed default inputs in the definitions of the atan2 nodes.
- Fixed token handling in functional nodegraphs.
- Fixed an edge case where subgraph flattening would generate invalid connections.
- Fixed incorrect face and vertex counts in GeometryHandler::createQuadMesh.
- Fixed the computation of throughput in the GLSL implementations of the BSDF multiply, add, and layer nodes.
- Fixed the interpretation of weight in the OSL and MDL implementations of subsurface_bsdf.
- Fixed the handling of missing attributes in the OSL implementation of the frame node.
- Fixed the offset of the cloverleaf node, aligning it with that of other shape nodes.
- Fixed storage of width and height in MslRenderer::setSize.
- Fixed handling of null images in MetalTextureHandler::createRenderResources.
- Fixed a missing header include in GCC 15 builds.
- Fixed the installation of PDB files in Windows debug builds.
- Patched GLFW to improve monitor detection on MacOS.