@jstone-lucasfilm jstone-lucasfilm released this Jul 23, 2018 · 10 commits to master since this release

Assets 2

Updated the MaterialX library to the v1.36 specification.

Added

  • 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

  • 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).

@jstone-lucasfilm jstone-lucasfilm released this May 8, 2018 · 72 commits to master since this release

Assets 2

Added

  • 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.

Changed

  • Renamed Matrix3x3 to Matrix33 and Matrix4x4 to Matrix44.
  • Renamed VectorN::length to VectorN::numElements.
  • Updated Python bindings to PyBind11 2.2.1.

@jstone-lucasfilm jstone-lucasfilm released this Dec 20, 2017 · 171 commits to master since this release

Assets 2

Added

  • Added high-level Material API, including getPrimaryShaderParameters, getPrimaryShaderInputs, getBoundGeomStrings, and getBoundGeomCollections.
  • Added methods ValueElement::getBoundValue and ValueElement::getDefaultValue.
  • Added support for multi-output nodes.
  • Added support for TypeDef members.
  • Added StringResolver class, for applying substring modifiers to data values.
  • Added example interfaces for the Disney BRDF, Disney BSDF, and alSurface shaders.

Changed

  • Renamed method Material::getReferencedShaderDefs to Material::getShaderNodeDefs.
  • Renamed method ShaderRef::getReferencedShaderDef to ShaderRef::getNodeDef.
  • Renamed method Node::getReferencedNodeDef to Node::getNodeDef.
  • Added a 'string' suffix to all accessors for 'node', 'nodedef', and 'collection' strings.
  • Combined individual booleans into an XmlReadOptions argument for the XML read functions.

Removed

  • Removed method Document::applyStringSubstitutions (deprecated in Python).
  • Removed method InterfaceElement::getParameterValueString (deprecated in Python).

@jstone-lucasfilm jstone-lucasfilm released this Oct 12, 2017 · 208 commits to master since this release

Assets 2

Added

  • Added support for Python 3.
  • Added support for standard TypeDef attributes.
  • Added support for values of type 'stringarray'.
  • Added method Element::setName.
  • Extended Python bindings for Document, NodeGraph, MaterialAssign, and Collection.

Changed

  • Modified NodeGraph::topologicalSort to return elements in a more intuitive top-down order, with upstream elements preceding downstream elements.
  • Removed special cases for string return values in MaterialX Python, with all strings now returned as 'unicode' in Python 2 and 'str' in Python 3.
  • Updated OSL reference implementations.

Fixed

  • Fixed handling of empty names in Element::addChildOfCategory.
  • Fixed an edge case in Document::upgradeVersion.

@jstone-lucasfilm jstone-lucasfilm released this Jul 24, 2017 · 274 commits to master since this release

Assets 2

Added

  • Added OSL source files for the standard nodes.
  • Added example document 'PostShaderComposite.mtlx'.
  • Added method MaterialX::prependXInclude.

Changed

  • Argument 'writeXIncludes' defaults to true in MaterialX::writeToXmlStream and MaterialX::writeToXmlString.

Fixed

  • Fixed handling of BindInput elements with missing connections.