Version 1.39.0
jstone-lucasfilm
released this
05 Jul 17:43
·
163 commits
to main
since this release
Added
- Added support for the OpenPBR Surface shading model, including the MaterialX definition and example materials for OpenPBR Surface v1.1.
- Added support for Hoffman-Schlick Fresnel, Zeltner sheen, and energy-compensated Oren-Nayar diffuse, with initial implementations in hardware shading languages.
- Added support for the LamaGeneralizedSchlick and LamaIridescence nodes, with definitions provided as MaterialX graphs.
- Added support for integer-type add, subtract, and conditional nodes.
- Added support for matrix-type switch and conditional nodes.
- Added support for additional convert node input and output types.
- Added support for monolithic builds of MaterialX.
- Added support for the full set of shader generators in JavaScript.
- Added support for frame timing in the MaterialX Viewer.
- Added a uiScale option for adjusting DPI in the Graph Editor.
- Added an example script to generate a MaterialX document from a folder of textures.
- Added unit tests for core utilities and ESSL shader generation.
- Added support for Python 3.12 in Python wheel generation.
- Added GCC 14 and Clang 18 builds to GitHub Actions CI.
Changed
- Raised the minimum C++ version for MaterialX builds to C++17.
- Updated the PyBind11 library to version 2.12.0, enabling support for recent compilers and CMake versions.
- Improved the expression of thin-film layering in MaterialX 1.39, with automatic upgrade logic for legacy documents.
- Improved the generality of the normalmap node in MaterialX 1.39, with automatic upgrade logic for legacy documents.
- Extended the switch node to ten inputs in MaterialX 1.39, with automatic upgrade logic for legacy documents.
- Renamed the inputs of the atan2 node in MaterialX 1.39, with automatic upgrade logic for legacy documents.
- Changed the type of subsurface_bsdf radius from vector3 to color3 in MaterialX 1.39, with automatic upgrade logic for legacy documents.
- Renamed the normalmap nodedef in MaterialX 1.39, with automatic upgrade logic for legacy documents.
- Improved the support for double-sided materials in MaterialX 1.39.
- Optimized Fresnel computations in GLSL, improving the performance of physically based shading in real-time renders.
- Applied lossless optimization to PNG and JPG textures in the MaterialX repository.
Fixed
- Fixed default values for the creatematrix node.
- Fixed an issue with keyboard input focus in the Graph Editor.
Removed
- Removed the swizzle node in MaterialX 1.39, with automatic upgrade logic for legacy documents.
- Removed the channels attribute in MaterialX 1.39, with automatic upgrade logic for legacy documents.
- Removed the unimplemented arrayappend node in MaterialX 1.39.