Skip to content

Releases: AcademySoftwareFoundation/MaterialX

Version 1.39.1

03 Sep 19:36
1117ab9
Compare
Choose a tag to compare

Added

Changed

Fixed

Removed

Version 1.39.0

05 Jul 17:43
Compare
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
Compare
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
Compare
Choose a tag to compare

Added

Changed

Fixed

Version 1.38.8

08 Sep 19:39
Compare
Choose a tag to compare

Added

Changed

Fixed

Version 1.38.7

21 Apr 13:55
c618207
Compare
Choose a tag to compare

Added

Changed

Fixed

Version 1.38.6

04 Nov 20:25
Compare
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.

Version 1.38.5

09 Jul 17:21
Compare
Choose a tag to compare

Added

  • Added a refraction approximation for transmissive surfaces in GLSL, selected by the hwTransmissionRenderMethod generator option.
  • Added support for generalized Schlick transmission in GLSL and OSL.
  • Added support for code generation from material nodes.
  • Added a specialization of GlslShaderGenerator for Vulkan GLSL generation.
  • Added the Chess Set example from the Karma: A Beautiful Game tutorial. Contributed to the MaterialX project by SideFX, original artwork by Moeen and Mujtaba Sayed.
  • Added static and dynamic analysis tests to GitHub Actions builds.
  • Added support for GCC 12, Clang 13, and Clang 14.

Changed

Fixed

  • Fixed math for normalizing normal and tangent vectors in GLSL.
  • Fixed math for transforming a vector4 by a matrix in OSL.
  • Fixed compatibility of OSL Worley noise with OSL 1.9.10.
  • Fixed layering of thin-film effects in the Standard Surface shading model.
  • Fixed input default values in the glTF PBR shading model.

Version 1.38.4

06 Apr 15:25
Compare
Choose a tag to compare

Added

  • Added JavaScript bindings for MaterialXCore, MaterialXFormat, and MaterialXGenGlsl.
  • Added a sample Web Viewer, built and deployed through GitHub Actions.
  • Added a MaterialX graph for the glTF PBR shading model.
  • Added new 'worleynoise2d' and 'worleynoise3d' nodes, with implementations in GLSL, OSL, and MDL.
  • Added new 'surface_unlit' node, with implementations in GLSL, OSL, and MDL.
  • Added support for the glTF geometry format in MaterialXRender and MaterialXView.

Changed

  • Moved the MaterialX project to the Academy Software Foundation GitHub.
  • Removed hardcoded references to "libraries" in calls to GenContext::registerSourceCodeSearchPath. (See Developer Notes below for additional details.)
  • Improved the accuracy of mx_ggx_dir_albedo_analytic and mx_fresnel_conductor in GLSL.
  • Updated the PyBind11 library to version 2.9.0.

Fixed

  • Aligned GLSL and MDL implementations of 'fractal3d' with OSL.
  • Fixed MDL implementations of 'sheen_bsdf' and 'thin_film_bsdf'.
  • Fixed an error in code generation from multi-output node graphs.

Developer Notes

  • This release removes hardcoded references to "libraries" in calls to GenContext::registerSourceCodeSearchPath within the MaterialX codebase. Applications with their own custom code generators should make the same change, removing hardcoded references to "libraries" in calls to GenContext::registerSourceCodeSearchPath. See pull request 877 for coding details.

Version 1.38.3

14 Dec 17:11
Compare
Choose a tag to compare

Added

  • Added an inheritance structure for versions of Autodesk Standard Surface.
  • Added versioning and customization support to MaterialX namespaces in C++.
  • Added preprocessor definitions for the API version to MaterialXCore.
  • Added color transform methods to the Image class.
  • Added an initial ClangFormat file for the MaterialX codebase.
  • Added initial support for FreeBSD.
  • Added support for Xcode 13.

Changed

  • Refactored BSDF handling in shader generation, allowing for more flexible and efficient vertical layering.
  • Optimized GLSL implementations for GGX specular, moving common computations to tangent space.
  • Refactored the TextureBaker API for clarity and flexibility.
  • Merged the ViewHandler and viewer camera into a new Camera class in MaterialXRender.
  • Updated CMake configuration generation logic, adding handling for shared library builds.
  • Updated the PyBind11 library to version 2.7.1

Fixed

  • Fixed a performance regression in MaterialXView for multi-UDIM assets.
  • Fixed a bug that caused shader inputs to be skipped in createUIPropertyGroups.
  • Fixed the value of transmission roughness in UsdPreviewSurface.
  • Fixed Vulkan compatibility for generated GLSL code.