Skip to content

Releases: AcademySoftwareFoundation/MaterialX

Version 1.39.4

15 Sep 18:17
270b5cf

Choose a tag to compare

Added

Changed

Fixed

Version 1.39.3

07 Mar 21:16
3b79bd7

Choose a tag to compare

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.

Version 1.39.2

20 Jan 22:29
c27914b

Choose a tag to compare

Added

Changed

Fixed

Removed

  • Removed support for the legacy OSL closures, focusing exclusively on the MaterialX-synchronized closures in OSL 1.12 and beyond.

Version 1.39.1

03 Sep 19:36
1117ab9

Choose a tag to compare

Added

Changed

Fixed

Removed

Version 1.39.0

05 Jul 17:43

Choose a tag to compare

Added

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

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.

Version 1.38.10

12 Apr 17:52

Choose a tag to compare

Added

Changed

  • Removed an extra suffix from element names in texture baking.

Fixed

  • Moved environment prefilter functions to their referencing GLSL files, addressing shader compilation errors in USD.
  • Enabled color and unit transforms on root nodes in shader generation, addressing missing color transforms in USD.
  • Updated document caches to store elements in declaration order, addressing compiler-dependent behavior in nodedef lookups.
  • Switched to framework linkage for OpenGL libraries on MacOS, addressing build issues in downstream projects.
  • Switched to legacy OpenGL libraries for Python wheels on Linux, addressing missing OpenGL functionality in Python wheels.
  • Added a missing vertex data prefix in Vulkan GLSL shader generation.

Version 1.38.9

26 Feb 17:04

Choose a tag to compare

Added

Changed

Fixed

Version 1.38.8

08 Sep 19:39

Choose a tag to compare

Added

Changed

Fixed

Version 1.38.7

21 Apr 13:55
c618207

Choose a tag to compare

Added

Changed

Fixed

Version 1.38.6

04 Nov 20:25

Choose a tag to compare

Added

Changed

Fixed

  • Fixed the implementation of the screen compositing node in GLSL, OSL, and MDL.
  • Fixed parent/child precedence in the getGeometryBindings function.
  • Fixed OpenGL errors when unbinding geometry in MaterialXView on MacOS.