Skip to content

Commit ece55fc

Browse files
authored
Merge branch 'AcademySoftwareFoundation:main' into functional_nodedefs
2 parents cb430ab + b91ec7a commit ece55fc

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

documents/Specification/MaterialX.Specification.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ Because the same word can be used to mean slightly different things in different
9999

100100
An **Element** is a named object within a MaterialX document, which may possess any number of child elements and attributes. An **Attribute** is a named property of a MaterialX element.
101101

102-
A **Node** is a function that generates or operates upon spatially-varying data. This specification provides a set of standard nodes with precise definitions, and also supports the creation of custom nodes for application-specific uses. The interface for a node’s incoming data is declared through **Inputs**, which may be spatially-varying or uniform, and **Tokens**, which are string values that can be substituted into filenames declared in node inputs.
102+
A **Node** is a function that generates or operates upon spatially-varying data. This specification provides a set of standard nodes with precise definitions, and also supports the creation of custom nodes for application-specific uses. The interface for a node’s incoming data is declared through **Inputs**, which may be spatially-varying or uniform, and **Tokens**, which are string values that can be substituted into filenames declared in node inputs. The interface for a node's outgoing data is declared through one or more **Outputs**; a node's Inputs, Tokens and Outputs are collectively referred to as the node's **Ports**.
103103

104104
A **Pattern** is a node that generates or processes simple scalar, vector, and color data, and has access to local properties of any geometry that has been bound.
105105

@@ -937,7 +937,7 @@ Specific applications will commonly support sources and operators that do not ma
937937

938938
### Custom Node Declaration NodeDef Elements
939939

940-
Each custom node must be explicitly declared with a <nodedef> element, with child <input>, <token> and <output> elements specifying the expected names and types of the node’s inputs and output(s).
940+
Each custom node must be explicitly declared with a <nodedef> element, with child <input>, <token> and <output> elements specifying the expected names and types of the node’s ports.
941941

942942
Attributes for <nodedef> elements:
943943

libraries/bxdf/translation/standard_surface_to_gltf_pbr.mtlx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,9 @@
187187
<input name="in1" type="float" interfacename="sheen_roughness" />
188188
<input name="in2" type="float" value="0" />
189189
</ifgreater>
190+
<sqrt name="sqrt_sheen_roughness" type="float">
191+
<input name="in" type="float" nodename="sheen_roughness" />
192+
</sqrt>
190193

191194
<!-- Clearcoat -->
192195
<ifequal name="clearcoat" type="float">
@@ -257,7 +260,7 @@
257260
<output name="thickness_out" type="float" nodename="thickness" />
258261
<output name="attenuation_color_out" type="color3" nodename="attenuation_color" />
259262
<output name="sheen_color_out" type="color3" nodename="sheen_color" />
260-
<output name="sheen_roughness_out" type="float" nodename="sheen_roughness" />
263+
<output name="sheen_roughness_out" type="float" nodename="sqrt_sheen_roughness" />
261264
<output name="clearcoat_out" type="float" nodename="clearcoat" />
262265
<output name="clearcoat_roughness_out" type="float" nodename="clearcoat_roughness" />
263266
<output name="emissive_out" type="color3" nodename="emissive" />

0 commit comments

Comments
 (0)