Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 50 million developers.Sign up
- Added support for texture baking from Python, including new example script baketextures.py.
- Added support for texture baking of materials with multiple UDIMs.
- Added support for floating-point render targets in ShaderRenderer and its subclasses, allowing for HDR texture baking.
- Added support for displacement shaders in generated OSL.
- Added the ShaderTranslator class, laying the groundwork for support of shader translation graphs.
- Added Python bindings for the Image class.
- Fixed the alignment of environment backgrounds in the viewer.
- Removed the CopyOptions class, making it the default behavior of Document::importLibrary to skip conflicting elements.
[1.37.1] - 2020-06-04
- Added command-line options for mesh, light, and camera transforms to the viewer.
- Added command-line options for screen dimensions and background color to the viewer.
- Added a Light Rotation slider to the Advanced Settings panel of the viewer.
- Added utility methods Backdrop::setContainsElements and Backdrop::getContainsElements.
- Added backwards compatibility for OpenImageIO 1.x.
- Added support for GCC 10.
- Improved energy conservation and preservation computations in generated GLSL.
- Upgraded Smith masking-shadowing to height-correlated form in generated GLSL.
- Improved the robustness of tangent frame computations in MaterialXRender.
- Renamed Backdrop::setContains and getContains to Backdrop::setContainsString and getContainsString for consistency.
- Fixed the GLSL implementation of Burley diffuse for punctual lights.
- Fixed the upgrade path for compare nodes in v1.36 documents.
Updated the MaterialX library to the v1.37 specification. See the v1.37 changelist for full details.
- Added a Shadow Map option to the viewer, supported by shadowing functionality in GLSL code generation.
- Added support for the 'uisoftmin', 'uisoftmax', and 'uistep' attributes, updating Autodesk Standard Surface to leverage these features.
- Added support for LookGroup elements.
- Added support for Clang 9.
- Updated the set of standard nodes to match the v1.37 specification.
- Unified the rules for NodeDef outputs, with all NodeDefs defining their output set through Output child elements rather than 'type' attributes.
- Replaced GeomAttr elements with GeomProp elements.
- Replaced backdrop nodes with Backdrop elements.
- Aligned Matrix33 and Matrix44 with the row-vector convention, for improved consistency with Imath, USD, and other libraries.
- Updated the stb_image library to version 2.23.
- Added a Load Environment option to the viewer, allowing arbitrary latitude-longitude HDR environments to be loaded at run-time.
- Added an initial TextureBaker class, supporting baking of procedural content to textures.
- Added initial support for units, including the MaterialX::Unit, MaterialX::UnitDef, and MaterialX::UnitTypeDef classes.
- Added support for unit conversion in shader code generation.
- Added support for Visual Studio 2019.
- Updated Autodesk Standard Surface to the latest interface and graph.
- Updated the PyBind11 library to version 2.4.3.
- Added a Save Material option to the viewer.
- Added property accessors to PropertyAssign and PropertySetAssign.
- Added Python bindings for TypeDesc and array-type Values.
- Added Python functions getTypeString, getValueString, and createValueFromStrings.
- Added support for GCC 9 and Clang 8.
- Updated the interface of readFromXmlFile and writeToXmlFile to support FilePath and FileSearchPath arguments.
- Extended Python bindings for FilePath and FileSearchPath.
- Deprecated Python functions typeToName, valueToString, and stringToValue.
- Removed deprecated Python functions objectToString and stringToObject.
- Fixed the OSL implementation of roughness_dual.
Merged shader code generation and physically-based shading nodes from Autodesk's ShaderX extensions. Added a default MaterialX viewer based on GLSL shader generation.
- Added the MaterialXGenShader library, supporting shader code generation in GLSL and OSL.
- Added the MaterialXRender library, providing helper functionality for rendering MaterialX content.
- Added the MaterialXView library, providing a default MaterialX viewer.
- Added the physically-based shading node library (libraries/pbrlib).
- Added a root-level 'cmake' folder, including a standard FindMaterialX module.
- Added a root-level 'resources' folder, including example materials and meshes.
- Added documents for the 1.37 specification.
- Moved the MaterialX data libraries from 'documents/Libraries' to 'libraries'.
- Updated MaterialX node definitions to the 1.37 specification.
- Updated the PyBind11 library to version 2.2.4.
- Removed customizations of PyBind11 to support Python 2.6. Only Python versions 2.7 and 3.x are now supported.
- Added support for 'nodedef' attributes on MaterialX::Node, integrating this usage into GraphElement::addNodeInstance.
- Added the MaterialX::GeomPropDef class for geometric input declarations.
- Added the Document::getGeomAttrValue method.
- Added the ValueElement::getResolvedValue method.
- Added support for the MATERIALX_SEARCH_PATH environment variable.
- Added support for GCC 8 and Clang 7.
- Added callbacks Observer::onCopyContent and Observer::onClearContent, and removed callback Observer::onInitialize.
- Moved the standard document library to the 'documents/Libraries/stdlib' folder.
- Added support for interface tokens, including the MaterialX::BindToken class and ‘[TOKEN]’ syntax in filenames.
- Added support for Clang 6.
- Updated geometry token syntax from ‘%TOKEN’ to ‘<TOKEN>’.
- Replaced readXIncludes boolean with a readXIncludeFunction callback in the XmlReadOptions structure.
- Combined individual options into an XmlWriteOptions argument for the XML write functions.
- Extended functionality of the vector and matrix classes.
- Updated PyBind11 library to version 2.2.3.
- Updated PugiXML library to version 1.9.
- Fixed graph implementations of range, extract, tiledimage, and ramp4 nodes.
Updated the MaterialX library to the v1.36 specification.
- Added support for Element namespaces.
- Added support for NodeDef inheritance.
- Added support for root-level node elements.
- Added support for inheritance attributes on MaterialX::Material and MaterialX::Look.
- Added support for include and exclude attributes on MaterialX::Collection.
- Added the MaterialX::Token class for string substitutions.
- Added the MaterialX::Variant, MaterialX::VariantSet, and MaterialX::VariantAssign classes.
- Added the MaterialX::GeomPath class for geometry name comparisons.
- Added the Collection::matchesGeomString method, for testing matches between collections and geometries.
- Added the Material::getGeometryBindings method, for finding the bindings of a material to specific geometries.
- Removed the MaterialX::MaterialInherit and MaterialX::LookInherit classes.
- Removed the MaterialX::CollectionAdd and MaterialX::CollectionRemove classes.
- Removed the MaterialX::Override class and support for public names.
- Removed the 'channels' attribute from MaterialX::InterfaceElement.
- Removed the Material::getReferencingMaterialAssigns method (deprecated in Python).
- Added material inheritance support to graph traversal and the high-level Material API.
- Added Material methods getActiveShaderRefs and getActiveOverrides.
- Added PropertySet methods setPropertyValue and getPropertyValue.
- Added Element methods setInheritsFrom, getInheritsFrom, traverseInheritance, hasInheritanceCycle, and getDescendant.
- Added function templates MaterialX::fromValueString and MaterialX::toValueString.
- Added math functionality to the vector and matrix classes.
- Added support for Visual Studio 2017, GCC 7, and Clang 5.
- Renamed Matrix3x3 to Matrix33 and Matrix4x4 to Matrix44.
- Renamed VectorN::length to VectorN::numElements.
- Updated Python bindings to PyBind11 2.2.1.