diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f0b2db39c6..86a5c018fc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,11 +2,7 @@ name: main on: push: - paths-ignore: - - '**.md' pull_request: - paths-ignore: - - '**.md' schedule: # Nightly build - cron: '30 10 * * *' diff --git a/documents/Specification/MaterialX.StandardNodes.md b/documents/Specification/MaterialX.StandardNodes.md index 8f6a919c4d..3faf9fcd59 100644 --- a/documents/Specification/MaterialX.StandardNodes.md +++ b/documents/Specification/MaterialX.StandardNodes.md @@ -92,7 +92,7 @@ The `default` input is the default value to use if the file reference can not be |----------------|-----------------------------------------------------------------------------------------------------------------|----------------------|---------|---------------------------------| |`file` |The URI of the image file |filename |__empty__| | |`layer` |The name of the layer to extract from a multi-layer input file |string |__empty__| | -|`default` |A default value to use if the file reference can not be resolved |float, colorN, vectorN|__zero__ | | +|`default` |A default value to use if the file reference can not be resolved |Same as `out` |__zero__ | | |`texcoord` |The 2D texture coordinate at which the image data is read |vector2 |_UV0_ | | |`uaddressmode` |Determines how U coordinates outside the 0-1 range are processed before sampling the image |string |periodic |constant, clamp, periodic, mirror| |`vaddressmode` |Determines how V coordinates outside the 0-1 range are processed before sampling the image |string |periodic |constant, clamp, periodic, mirror| @@ -100,7 +100,7 @@ The `default` input is the default value to use if the file reference can not be |`framerange` |A string "minframe-maxframe", e.g. "10-99", to specify the range of frames that the image file is allowed to have|string |__empty__| | |`frameoffset` |A number that is added to the current frame number to get the image file frame number |integer |0 | | |`frameendaction`|What to do when the resolved image frame number is outside the `framerange` range |string |constant |constant, clamp, periodic, mirror| -|`out` |Output: the sampled texture value |Same as `default` |__zero__ | | +|`out` |Output: the sampled texture value |float, colorN, vectorN|__zero__ | | @@ -112,7 +112,7 @@ The `file` input can include one or more substitutions to change the file name t |Port |Description |Type |Default |Accepted Values | |--------------------|-----------------------------------------------------------------------------------------------------------------|----------------------|---------|---------------------------------| |`file` |The URI of the image file |filename |__empty__| | -|`default` |A default value to use if the file reference can not be resolved |float, colorN, vectorN|__zero__ | | +|`default` |A default value to use if the file reference can not be resolved |Same as `out` |__zero__ | | |`texcoord` |The 2D texture coordinate at which the image data is read |vector2 |_UV0_ | | |`uvtiling` |The tiling rate for the given image along the U and V axes |vector2 |1.0, 1.0 | | |`uvoffset` |The offset for the given image along the U and V axes |vector2 |0.0, 0.0 | | @@ -122,7 +122,7 @@ The `file` input can include one or more substitutions to change the file name t |`framerange` |A string "minframe-maxframe", e.g. "10-99", to specify the range of frames that the image file is allowed to have|string |__empty__| | |`frameoffset` |A number that is added to the current frame number to get the image file frame number |integer |0 | | |`frameendaction` |What to do when the resolved image frame number is outside the `framerange` range |string |constant |constant, clamp, periodic, mirror| -|`out` |Output: the sampled texture value |Same as `default` |__zero__ | | +|`out` |Output: the sampled texture value |float, colorN, vectorN|__zero__ | | @@ -148,22 +148,22 @@ The `file` input can include one or more substitutions to change the file name t The `lumacoeffs` input represents 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 node's implementation directly, rather than exposing it to the user. -|Port |Description |Type |Default | -|--------------------|---------------------------------------------------------------------------------------------------|----------------------|-------------------------------| -|`file` |The URI of the image file |filename |__empty__ | -|`default` |A default value to use if the file reference can not be resolved |float, colorN, vectorN|__zero__ | -|`texcoord` |The 2D texture coordinate at which the image data is read |vector2 |_UV0_ | -|`tiling` |The tiling rate for the given image along the U and V axes |vector2 |1.0, 1.0 | -|`rotation` |Per-tile rotation randomness in degrees |float |0.0 | -|`rotationrange` |Range in degrees used to randomize rotation for each tile |vector2 |0.0, 360.0 | -|`scale` |Per-tile scale randomness multiplier applied to tile size |float |1.0 | -|`scalerange` |Range of scale multipliers used to randomize tile scale |vector2 |0.5, 2.0 | -|`offset` |Per-tile translation randomness in UV units |float |1.0 | -|`offsetrange` |Range of offset values in UV units used to randomize tile positions |vector2 |0.0, 1.0 | -|`falloff` |Falloff width used to blend neighboring tiles at their edges; larger values produce smoother blends|float |0.5 | -|`falloffcontrast` |Contrast applied to the falloff blending to sharpen (values >1) or soften (values <1) transitions |float |0.5 | -|`lumacoeffs` |The luma coefficients of the current working color space |color3 |0.2722287, 0.6740818, 0.0536895| -|`out` |Output: the sampled texture value |Same as `default` |__zero__ | +|Port |Description |Type |Default | +|--------------------|---------------------------------------------------------------------------------------------------|-----------------|-------------------------------| +|`file` |The URI of the image file |filename |__empty__ | +|`default` |A default value to use if the file reference can not be resolved |Same as `out` |__zero__ | +|`texcoord` |The 2D texture coordinate at which the image data is read |vector2 |_UV0_ | +|`tiling` |The tiling rate for the given image along the U and V axes |vector2 |1.0, 1.0 | +|`rotation` |Per-tile rotation randomness in degrees |float |0.0 | +|`rotationrange` |Range in degrees used to randomize rotation for each tile |vector2 |0.0, 360.0 | +|`scale` |Per-tile scale randomness multiplier applied to tile size |float |1.0 | +|`scalerange` |Range of scale multipliers used to randomize tile scale |vector2 |0.5, 2.0 | +|`offset` |Per-tile translation randomness in UV units |float |1.0 | +|`offsetrange` |Range of offset values in UV units used to randomize tile positions |vector2 |0.0, 1.0 | +|`falloff` |Falloff width used to blend neighboring tiles at their edges; larger values produce smoother blends|float |0.5 | +|`falloffcontrast` |Contrast applied to the falloff blending to sharpen (values >1) or soften (values <1) transitions |float |0.5 | +|`lumacoeffs` |The luma coefficients of the current working color space |color3 |0.2722287, 0.6740818, 0.0536895| +|`out` |Output: the sampled texture value |colorN |__zero__ | @@ -178,7 +178,7 @@ Samples data from three images (or layers within multi-layer images), and projec |`layerx` |The name of the layer to extract from a multi-layer input file for the X-axis projection |string |__empty__| | |`layery` |The name of the layer to extract from a multi-layer input file for the Y-axis projection |string |__empty__| | |`layerz` |The name of the layer to extract from a multi-layer input file for the Z-axis projection |string |__empty__| | -|`default` |A default value to use if the file reference can not be resolved |float, colorN, vectorN|__zero__ | | +|`default` |A default value to use if the file reference can not be resolved |Same as `out` |__zero__ | | |`position` |A spatially-varying input specifying the 3D position at which the projection is evaluated |vector3 |_Pobject_| | |`normal` |A spatially-varying input specifying the 3D normal vector used for blending |vector3 |_Nobject_| | |`upaxis` |Which axis is considered to be 'up', either 0 for X, 1 for Y, or 2 for Z |integer |2 |0, 1, 2 | @@ -187,7 +187,7 @@ Samples data from three images (or layers within multi-layer images), and projec |`framerange` |A string "minframe-maxframe", e.g. "10-99", to specify the range of frames that the image file is allowed to have|string |__empty__| | |`frameoffset` |A number that is added to the current frame number to get the image file frame number |integer |0 | | |`frameendaction`|What to do when the resolved image frame number is outside the `framerange` range |string |constant |constant, clamp, periodic, mirror| -|`out` |Output: the blended texture value |Same as `default` |__zero__ | | +|`out` |Output: the blended texture value |float, colorN, vectorN|__zero__ | | ### Texture Node Notes @@ -379,52 +379,52 @@ Standard Noise nodes: ### `noise2d` 2D Perlin noise in 1, 2, 3 or 4 channels. -|Port |Description |Type |Default | -|-----------|---------------------------------------------------------|-------------------|--------| -|`amplitude`|The center-to-peak amplitude of the noise |float, vectorN |__one__ | -|`pivot` |The center value of the output noise |float |0.0 | -|`texcoord` |The 2D texture coordinate at which the noise is evaluated|vector2 |_UV0_ | -|`out` |Output: the computed noise value |Same as `amplitude`|__zero__| +|Port |Description |Type |Default | +|-----------|---------------------------------------------------------|----------------------|--------| +|`amplitude`|The center-to-peak amplitude of the noise |Same as `out` or float|__one__ | +|`pivot` |The center value of the output noise |float |0.0 | +|`texcoord` |The 2D texture coordinate at which the noise is evaluated|vector2 |_UV0_ | +|`out` |Output: the computed noise value |float, vectorN |__zero__| ### `noise3d` 3D Perlin noise in 1, 2, 3 or 4 channels. -|Port |Description |Type |Default | -|-----------|-----------------------------------------------|-------------------|---------| -|`amplitude`|The center-to-peak amplitude of the noise |float, vectorN |__one__ | -|`pivot` |The center value of the output noise |float |0.0 | -|`position` |The 3D position at which the noise is evaluated|vector3 |_Pobject_| -|`out` |Output: the computed noise value |Same as `amplitude`|__zero__ | +|Port |Description |Type |Default | +|-----------|-----------------------------------------------|----------------------|---------| +|`amplitude`|The center-to-peak amplitude of the noise |Same as `out` or float|__one__ | +|`pivot` |The center value of the output noise |float |0.0 | +|`position` |The 3D position at which the noise is evaluated|vector3 |_Pobject_| +|`out` |Output: the computed noise value |float, vectorN |__zero__ | ### `fractal2d` Zero-centered 2D Fractal noise in 1, 2, 3 or 4 channels, created by summing several octaves of 2D Perlin noise, increasing the frequency and decreasing the amplitude at each octave. -|Port |Description |Type |Default | -|------------|---------------------------------------------------------------|-------------------|---------| -|`amplitude` |The center-to-peak amplitude of the noise |float, vectorN |__one__ | -|`octaves` |The number of octaves of noise to be summed |integer |3 | -|`lacunarity`|The exponential scale between successive octaves of noise |float |2.0 | -|`diminish` |The rate at which noise amplitude is diminished for each octave|float |0.5 | -|`texcoord` |The 2D texture coordinate at which the noise is evaluated |vector2 |_UV0_ | -|`out` |Output: the computed noise value |Same as `amplitude`|__zero__ | +|Port |Description |Type |Default | +|------------|---------------------------------------------------------------|----------------------|---------| +|`amplitude` |The center-to-peak amplitude of the noise |Same as `out` or float|__one__ | +|`octaves` |The number of octaves of noise to be summed |integer |3 | +|`lacunarity`|The exponential scale between successive octaves of noise |float |2.0 | +|`diminish` |The rate at which noise amplitude is diminished for each octave|float |0.5 | +|`texcoord` |The 2D texture coordinate at which the noise is evaluated |vector2 |_UV0_ | +|`out` |Output: the computed noise value |float, vectorN |__zero__ | ### `fractal3d` Zero-centered 3D Fractal noise in 1, 2, 3 or 4 channels, created by summing several octaves of 3D Perlin noise, increasing the frequency and decreasing the amplitude at each octave. -|Port |Description |Type |Default | -|------------|---------------------------------------------------------------|-------------------|---------| -|`amplitude` |The center-to-peak amplitude of the noise |float, vectorN |__one__ | -|`octaves` |The number of octaves of noise to be summed |integer |3 | -|`lacunarity`|The exponential scale between successive octaves of noise |float |2.0 | -|`diminish` |The rate at which noise amplitude is diminished for each octave|float |0.5 | -|`position` |The 3D position at which the noise is evaluated |vector3 |_Pobject_| -|`out` |Output: the computed noise value |Same as `amplitude`|__zero__ | +|Port |Description |Type |Default | +|------------|---------------------------------------------------------------|----------------------|---------| +|`amplitude` |The center-to-peak amplitude of the noise |Same as `out` or float|__one__ | +|`octaves` |The number of octaves of noise to be summed |integer |3 | +|`lacunarity`|The exponential scale between successive octaves of noise |float |2.0 | +|`diminish` |The rate at which noise amplitude is diminished for each octave|float |0.5 | +|`position` |The 3D position at which the noise is evaluated |vector3 |_Pobject_| +|`out` |Output: the computed noise value |float, vectorN |__zero__ | @@ -1969,7 +1969,7 @@ Output the value of the `in1` or `in2` stream depending on whether the `value1` |Port |Description |Type |Default | |--------|--------------------------------------------------|-----------------------------------------|--------| |`value1`|The first value to be compared |float, integer |__one__ | -|`value2`|The second value to be compared |float, integer |__zero__| +|`value2`|The second value to be compared |Same as `value1` |__zero__| |`in1` |The value stream to output if `value1` > `value2` |float, colorN, vectorN, matrixNN, integer|__zero__| |`in2` |The value stream to output if `value1` <= `value2`|Same as `in1` |__zero__| |`out` |Output: the result of the comparison |Same as `in1` |`in1` | @@ -1977,7 +1977,7 @@ Output the value of the `in1` or `in2` stream depending on whether the `value1` |Port |Description |Type |Default | |--------|--------------------------------------------------|-----------------------------------------|--------| |`value1`|the first value to be compared |float, integer |__one__ | -|`value2`|the second value to be compared |float, integer |__zero__| +|`value2`|the second value to be compared |Same as `value1` |__zero__| |`out` |Output: true if `value1` > `value2 |boolean |false | @@ -1989,7 +1989,7 @@ Output the value of the `in1` or `in2` stream depending on whether the `value1` |Port |Description |Type |Default | |--------|--------------------------------------------------|-----------------------------------------|--------| |`value1`|the first value to be compared |float, integer |__one__ | -|`value2`|the second value to be compared |float, integer |__zero__| +|`value2`|the second value to be compared |Same as `value1` |__zero__| |`in1` |The value stream to output if `value1` >= `value2`|float, colorN, vectorN, matrixNN, integer|__zero__| |`in2` |The value stream to output if `value1` < `value2` |Same as `in1` |__zero__| |`out` |Output: the result of the comparison |Same as `in1` |`in1` | @@ -1997,7 +1997,7 @@ Output the value of the `in1` or `in2` stream depending on whether the `value1` |Port |Description |Type |Default | |--------|--------------------------------------------------|-----------------------------------------|--------| |`value1`|the first value to be compared |float, integer |__one__ | -|`value2`|the second value to be compared |float, integer |__zero__| +|`value2`|the second value to be compared |Same as `value1` |__zero__| |`out` |Output: true if `value1` >= `value2 |boolean |false | @@ -2009,7 +2009,7 @@ Output the value of the `in1` or `in2` stream depending on whether the `value1` |Port |Description |Type |Default | |--------|--------------------------------------------------|-----------------------------------------|--------| |`value1`|the first value to be compared |float, integer |__one__ | -|`value2`|the second value to be compared |float, integer |__zero__| +|`value2`|the second value to be compared |Same as `value1` |__zero__| |`in1` |The value stream to output if `value1` = `value2` |float, colorN, vectorN, matrixNN, integer|__zero__| |`in2` |The value stream to output if `value1` != `value2`|Same as `in1` |__zero__| |`out` |Output: the result of the comparison |Same as `in1` |`in1` | @@ -2025,7 +2025,7 @@ Output the value of the `in1` or `in2` stream depending on whether the `value1` |Port |Description |Type |Default | |--------|--------------------------------------------------|-----------------------------------------|--------| |`value1`|the first value to be compared |float, integer |__one__ | -|`value2`|the second value to be compared |float, integer |__zero__| +|`value2`|the second value to be compared |Same as `value1` |__zero__| |`out` |Output: true if `value1` = `value2` |boolean |false | |Port |Description |Type |Default|