|
4 | 4 |
|
5 | 5 | ### Added |
6 | 6 | - Added support for the [Slang shading language](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2548) in MaterialX shader generation and rendering, with [language bindings](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2679) for Python and JavaScript. |
| 7 | +- Added initial support for [Volume Distribution Functions](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2809) in hardware shading, with a dedicated VDF struct in GLSL, MSL, and Slang, and a Beer's law approximation for volumetric absorption. |
| 8 | +- Added [hardware shader generation support](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2829) for compound material nodes, enabling hardware rendering of nodegraph-based materials such as LamaSurface. |
7 | 9 | - Added [OSL implementations](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2734) for hex-tiled images, completing cross-language coverage for hextiling nodes. |
8 | 10 | - Added an [OSL command string code generator](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2603), enabling the mixing of external OSL shaders with MaterialX-generated nodes. |
9 | 11 | - Added support for [GLSL probability density functions](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2779), providing a foundation for path-tracer use of generated GLSL, ESSL, and MSL shaders. |
| 12 | +- Added [extract node support](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2812) for matrix33 and matrix44 types, enabling row vector extraction by index from matrices. |
| 13 | +- Added [flake node implementations](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2676) in GLSL and MDL, providing shader support for the flake2d and flake3d nodes. |
10 | 14 | - Added an [enableDirectLight option](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2773) to the MaterialX Viewer, enabling pure image-based lighting without direct light contributions. |
11 | 15 | - Added support for [upstream and downstream node traversal](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2225) in the property editor of the MaterialX Graph Editor. |
| 16 | +- Added [file image previews](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2710) for image nodes in the MaterialX Graph Editor, with a configurable preview size. |
12 | 17 | - Added shader generation options for [Airy Fresnel iterations](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2569) and [constant node eliding](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2521), supporting quality and performance trade-offs on iridescent materials and interactive editing workflows. |
13 | 18 | - Added [Python operator bindings](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2594) for Vector and Matrix types. |
| 19 | +- Added MDL implementations for the [frame node](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2823) via scene data and [geomcolor nodes](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2835) with index 0. |
14 | 20 | - Added support for [Doxygen-generated docstrings](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2657) in MaterialX Python bindings, enabling IDE support and interactive help. |
15 | 21 | - Added a [nodedef comparison script](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2723) for validating alignment between data library definitions and specification documents. |
16 | 22 | - Added [Perfetto tracing](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2742) as an optional performance instrumentation framework. |
|
21 | 27 | - Improved specifications for the [Standard Nodes](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2520), [PBR Nodes](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2732), and [NPR Nodes](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2767), converting prose descriptions to structured tables. |
22 | 28 | - Consolidated hardware shader generation in a new [MaterialXGenHw module](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2565), [unifying node implementations](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2555) across GLSL and MSL, adopting [syntax-portable type names](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2625) for native Metal support, and [streamlining](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2652) the ShaderGenerator API across hardware shading language generators. |
23 | 29 | - Refactored the [layout engine](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2775) in the MaterialX Graph Editor, organizing its logic into a new Layout class aligned with the Sugiyama layered graph drawing algorithm. |
| 30 | +- Aligned [UsdPreviewSurface opacity](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2796) with the upcoming Pixar specification, updating the handling of `opacity`, `opacityMode`, and `opacityThreshold` inputs. |
24 | 31 | - Improved the [Metal syntax](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2622) in generated MSL shaders, replacing preprocessor workarounds with native Metal code. |
25 | 32 | - Improved the [MDL generator](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2684) with support for backsurface shaders and [volume IOR](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2747) preservation. |
| 33 | +- Improved [material name handling](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2804) in shader generation, converting names to identifiers early for cleaner output naming. |
26 | 34 | - Improved [thread safety](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2736) in the Document cache, adopting `std::shared_mutex` for reader and writer guarantees. |
27 | 35 | - Improved [hextiling implementations](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2615) in GLSL and MDL, using array-based data structures for better maintainability. |
28 | 36 | - Improved the translation graph from Standard Surface to glTF PBR, adding support for [specular and specular color](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2623), [IOR](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2589), [emissive strength](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2593), [dispersion](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2636), [normal and tangent](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2587), and [alpha](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2591). |
29 | 37 | - Updated the [OpenPBR Surface definition](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2759) to connect geometry_thin_walled to the surface node. |
| 38 | +- Improved the [MaterialX Web Viewer](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2798) with an FPS timer, consistent styling, improved menu labels, and responsive layout for mobile. |
| 39 | +- Improved the MaterialX Graph Editor with [UI/UX refinements](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2791) including case-insensitive node search and auto-selection of new nodes, and [consolidated edge creation](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2793) with unified logic for document-scope outputs. |
30 | 40 | - Extended [shader generation tests](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2761) to cover all example materials. |
| 41 | +- Migrated [Python packaging](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2782) to `pyproject.toml`, replacing the legacy `setup.py` script with the modern PEP 517 and PEP 621 standard. |
31 | 42 | - Raised the default PyBind11 version to [PyBind11 3.0.1](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2715), with [Python 3.14](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2717) added to GitHub CI. |
32 | 43 | - Raised the default Emscripten SDK to [emsdk 4.0.8](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2599) in the MaterialX Web Viewer. |
33 | 44 |
|
34 | 45 | ### Fixed |
35 | 46 | - Fixed [node key collisions](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2768) in ShaderGraph, addressing crashes and shader generation errors when multiple nodes shared the same base name. |
| 47 | +- Fixed [prefiltered environment lighting](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2808) in GLSL to use directional albedo rather than Fresnel weighting alone. |
| 48 | +- Fixed [precision in generated ESSL](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2792), using high precision to avoid underflow and accumulated math errors in Standard Surface, OpenPBR, and glTF PBR shaders. |
36 | 49 | - Fixed the implementations of [splittb, ramptb, and ramp4](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2721) in GLSL, OSL, and MDL, correcting the inverted ordering of top and bottom values. |
37 | 50 | - Fixed [sheen roughness](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2643) and the handling of [thin_walled and transmission_depth](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2644) in the translation graph from Standard Surface to glTF PBR. |
38 | 51 | - Fixed [direct lighting](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2781) in MSL rendering, addressing a uniform name mismatch that caused missing lighting on MacOS. |
| 52 | +- Fixed an [inconsistent background color](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2800) in the MaterialX Viewer on Metal, correcting a color space conversion mismatch. |
39 | 53 | - Fixed a crash in shader generation for [constant nodes with zero inputs](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2746), with a [stricter eliding check](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2754) to prevent false matches on custom nodes. |
40 | 54 | - Fixed a crash on selecting [functional graph outputs](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2597) in the MaterialX Graph Editor. |
| 55 | +- Fixed [document load initialization](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2795) in the MaterialX Graph Editor, addressing crashes from stale references, [link deletion](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2816) robustness, and [vertical refinement bias](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2789) in the layout engine. |
| 56 | +- Fixed [MDL generation](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2817) for empty materials, and aligned [boolean and integer conversion](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2807) in MDL with GLSL and OSL. |
| 57 | +- Fixed [alpha blending](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2786) in `hextiledimage_color4` across GLSL, OSL, and MDL implementations. |
41 | 58 | - Fixed [CMake build rules](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2687) for resource installation, the [export](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2724) of MATERIALX_INSTALL_STDLIB_PATH in the CMake config, and the [propagation of dependencies](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2752) for OpenGL and X11 in downstream projects. |
42 | 59 | - Fixed a [missing OCIO include](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2780) in the MaterialX Graph Editor, addressing a build error when OCIO support is enabled. |
43 | 60 | - Fixed [shadow and environment edge cases](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2617) in GLSL generation, addressing spot light projection, shadow occlusion resetting, and zero-sample environment radiance. |
44 | 61 | - Fixed alignment of [two-sided refraction](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2703) and [texture magnification filtering](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2705) between GLSL and MSL rendering. |
| 62 | +- Fixed [interface name validation](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2785), resolving interface names against parent graph elements for correct validation of value elements. |
45 | 63 | - Fixed OSL shader generation for [textureresource and LamaSurface](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2590) nodes. |
46 | 64 | - Fixed default inputs in the vector definitions of the [atan2 nodes](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2554). |
47 | 65 | - Fixed edge cases in the version upgrade process for [swizzle nodes](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2637). |
|
0 commit comments