Skip to content

Commit 1c461ed

Browse files
Update changelog for latest work (#2839)
1 parent 84321a4 commit 1c461ed

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,19 @@
44

55
### Added
66
- 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.
79
- Added [OSL implementations](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2734) for hex-tiled images, completing cross-language coverage for hextiling nodes.
810
- 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.
911
- 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.
1014
- Added an [enableDirectLight option](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2773) to the MaterialX Viewer, enabling pure image-based lighting without direct light contributions.
1115
- 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.
1217
- 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.
1318
- 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.
1420
- Added support for [Doxygen-generated docstrings](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2657) in MaterialX Python bindings, enabling IDE support and interactive help.
1521
- Added a [nodedef comparison script](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2723) for validating alignment between data library definitions and specification documents.
1622
- Added [Perfetto tracing](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2742) as an optional performance instrumentation framework.
@@ -21,27 +27,39 @@
2127
- 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.
2228
- 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.
2329
- 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.
2431
- Improved the [Metal syntax](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2622) in generated MSL shaders, replacing preprocessor workarounds with native Metal code.
2532
- 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.
2634
- Improved [thread safety](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2736) in the Document cache, adopting `std::shared_mutex` for reader and writer guarantees.
2735
- Improved [hextiling implementations](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2615) in GLSL and MDL, using array-based data structures for better maintainability.
2836
- 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).
2937
- 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.
3040
- 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.
3142
- 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.
3243
- Raised the default Emscripten SDK to [emsdk 4.0.8](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2599) in the MaterialX Web Viewer.
3344

3445
### Fixed
3546
- 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.
3649
- 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.
3750
- 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.
3851
- 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.
3953
- 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.
4054
- 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.
4158
- 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.
4259
- 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.
4360
- 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.
4461
- 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.
4563
- Fixed OSL shader generation for [textureresource and LamaSurface](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2590) nodes.
4664
- Fixed default inputs in the vector definitions of the [atan2 nodes](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2554).
4765
- Fixed edge cases in the version upgrade process for [swizzle nodes](https://github.com/AcademySoftwareFoundation/MaterialX/pull/2637).

0 commit comments

Comments
 (0)