You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: documents/Specification/MaterialX.StandardNodes.md
+37Lines changed: 37 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -102,6 +102,23 @@ The type of the <image> node determines the number of channels output, which
102
102
*`viewdir` (vector3): the view direction determining the value sampled from the projected equiangular map.
103
103
*`rotation` (float): the longitudinal sampling offset, in degrees.
104
104
105
+
<aid="node-hextiledimage"> </a>
106
+
107
+
***`hextiledimage`**: samples data from a single image, with provisions for hex-tiling and randomizing the image across uv space.
108
+
*`file` (uniform filename): the URI of an image file. The filename can include one or more substitutions to change the file name (including frame number) that is accessed, as described in the [Filename Substitutions](./MaterialX.Specification.md#filename-substitutions) section in the main Specification document.
109
+
*`default` (color<em>N</em>): a default value to use if the `file` reference can not be resolved (e.g. if a <geomtoken>, [interfacetoken] or {hostattr} is included in the filename but no substitution value or default is defined, or if the resolved file URI cannot be read). The `default` value must be the same type as the `<hextiledimage>` element itself. If `default` is not defined, the default color value will be 0.0 in all channels.
110
+
*`texcoord` (vector2): the name of a vector2-type node specifying the 2D texture coordinate at which the image data is read. Default is to use the current u,v coordinate.
111
+
*`tiling` (vector2): the tiling rate for the hexagon tiles along the U and V axes. Default value is (1.0, 1.0).
112
+
*`rotation` (float): per-tile rotation randomness in degrees. Default is 0.0.
113
+
*`rotationrange` (vector2): [min, max] range in degrees used to randomize rotation for each tile. Default is (0.0, 360.0).
114
+
*`scale` (float): per-tile scale randomness multiplier applied to tile size. Default is 1.0.
115
+
*`scalerange` (vector2): [min, max] range of scale multipliers used to randomize tile scale. Default is (0.5, 2.0).
116
+
*`offset` (float): per-tile translation randomness in UV units. Default is 0.0.
117
+
*`offsetrange` (vector2): [min, max] range of offset values in UV units used to randomize tile positions. Default is (0.0, 1.0).
118
+
*`falloff` (float): falloff width used to blend neighboring tiles at their edges; larger values produce smoother blends. Default is 0.5.
119
+
*`falloffcontrast` (float): contrast applied to the falloff blending to sharpen (values >1) or soften (values <1) transitions. Default is 0.5.
120
+
*`lumacoeffs` (uniform color3): the luma coefficients of the current working color space; if no specific color space can be determined, the ACEScg (ap1) luma coefficients [0.2722287, 0.6740818, 0.0536895] will be used. Applications which support color management systems may choose to retrieve the luma coefficients of the working colorspace from the CMS to pass to the <luminance> node's implementation directly, rather than exposing it to the user.
121
+
105
122
<aid="node-triplanarprojection"> </a>
106
123
107
124
***`triplanarprojection`** (NG): samples data from three images (or layers within multi-layer images), and projects a tiled representation of the images along each of the three respective coordinate axes, computing a weighted blend of the three samples using the geometric normal.
@@ -767,6 +784,26 @@ Math nodes have one or two spatially-varying inputs, and are used to perform a m
767
784
*`tangent` (vector3): surface tangent vector, defaults to the current world-space tangent vector.
768
785
*`bitangent` (vector3): surface bitangent vector, defaults to the current world-space bitangent vector.
769
786
787
+
<aid="node-hextilednormalmap"> </a>
788
+
789
+
***`hextilednormalmap`**: samples data from a single normalmap, with provisions for hex-tiling and randomizing the normalmap across uv space.
790
+
*`file` (uniform filename): the URI of an image file. The filename can include one or more substitutions to change the file name (including frame number) that is accessed, as described in the [Filename Substitutions](./MaterialX.Specification.md#filename-substitutions) section in the main Specification document.
791
+
*`default` (vector3): a default value to use if the `file` reference can not be resolved (e.g. if a <geomtoken>, [interfacetoken] or {hostattr} is included in the filename but no substitution value or default is defined, or if the resolved file URI cannot be read). Default is (0.5, 0.5, 1.0).
792
+
*`texcoord` (vector2): the name of a vector2-type node specifying the 2D texture coordinate at which the image data is read. Default is to use the current u,v coordinate.
793
+
*`tiling` (vector2): the tiling rate for the hexagon tiles along the U and V axes. Default value is (1.0, 1.0).
794
+
*`rotation` (float): per-tile rotation randomness in degrees. Default is 0.0.
795
+
*`rotationrange` (vector2): [min, max] range in degrees used to randomize rotation for each tile. Default is (0.0, 360.0).
796
+
*`scale` (float): per-tile scale randomness multiplier applied to tile size. Default is 1.0.
797
+
*`scalerange` (vector2): [min, max] range of scale multipliers used to randomize tile scale. Default is (0.5, 2.0).
798
+
*`offset` (float): per-tile translation randomness in UV units. Default is 0.0.
799
+
*`offsetrange` (vector2): [min, max] range of offset values in UV units used to randomize tile positions. Default is (0.0, 1.0).
800
+
*`falloff` (float): falloff width used to blend neighboring tiles at their edges; larger values produce smoother blends. Default is 0.5.
801
+
*`strength` (float): Controls how strongly the sampled normal map affects the final normal. A value of 0.0 leaves the surface normal unchanged, 1.0 applies the sampled normal at full strength, and values >1.0 amplify the normal perturbation. Default is 1.0.
802
+
*`flip_g` (boolean): If true, negate (flip) the green (G) channel of the sampled normal map to accommodate different tangent-space conventions (handedness). Default is false.
803
+
*`normal` (vector3): surface normal; defaults to the current world-space normal.
804
+
*`tangent` (vector3): surface tangent vector, defaults to the current world-space tangent vector.
805
+
*`bitangent` (vector3): surface bitangent vector, defaults to the current world-space bitangent vector.
806
+
770
807
<aid="node-creatematrix"> </a>
771
808
772
809
***`creatematrix`**: build a 3x3 or 4x4 matrix from three vector3 or four vector3 or vector4 inputs. A matrix44 may also be created from vector3 input values, in which case the fourth value will be set to 0.0 for in1-in3, and to 1.0 for in4 when creating the matrix44.
0 commit comments