数学运算节点

在着色器设计器中,算术节点执行代数、逻辑、三角形和其他数学运算。

说明说明

当在着色器设计器中使用算术节点时,类型提升特别明显。若要了解类型提升对输入参数的影响,请参见 着色器设计器节点 的“输入的提升”一节。

算术节点引用

节点

详细信息

属性

Abs

计算每个元素的指定输入的绝对值。

对于输入 X 的每个分量,负值将被设为正值,以便结果的所有分量均为正值。

输入:

X:float、float2、 float3 或 float4

要为其确定绝对值的值。

Output:

Output:与输入 X 相同

绝对值,每个组件。

添加

计算每个组件的指定输入的组件范围的总和。

对于结果的每个分量,输入 X 和输入 Y 的对应分量将全部相加。

输入:

X:float、float2、 float3 或 float4

要相加的值之一。

Y:与输入 X 相同

要相加的值之一。

输出:

Output:与输入 X 相同

总和,每个组件。

Ceil

计算每个元素的指定输入的上限。

值的上限是大于或等于该值的最小整数。

输入:

X:float、float2、 float3 或 float4

要为其计算上限的值。

输出:

Output:与输入 X 相同

每个组件的上限。

钳位

夹紧指定的输入的每个元素为预定义的范围。

对于结果的每个分量,在定义的范围以下的值将被设为该范围中的最小值,在定义的范围以上的值将被设为该范围中的最大值,处于该范围内的值将不会更改。

输入:

X:float、float2、 float3 或 float4

要限制的值。

输出:

Output:与输入 X 相同

每个组件的限制值。

Max

该范围中的可能的最大值。

最小值

该范围中的可能的最小值。

Cos

以弧度为单位,计算每个元素的指定输入的余弦。

对于结果的每个分量,将计算对应分量的余弦值(以弧度形式提供)。结果包含具有范围 [-1, 1] 内的值的分量。

输入:

X:float、float2、 float3 或 float4

计算余弦的值(以弧度为单位)。

输出:

Output:与输入 X 相同

每个组件的余弦。

跨平台编译器

计算指定的三个组件的矢量的交叉乘积。

可使用叉积计算由两个矢量定义的表面的法线。

输入:

X: float3

跨产品左侧的向量。

Y: float3

跨产品右侧的向量。

输出:

Output: float3

叉积。

距离

计算指定点之间的距离。

结果为正标量值。

输入:

X:float、float2、 float3 或 float4

确定之间距离的一个点。

Y:与输入 X 相同

确定之间距离的一个点。

输出:

Output:与输入 X 相同

距离。

相割

计算指定输入的组件范围的商数。

对于结果的每个分量,输入 X 的对应分量将除以输入Y 的对应分量。

输入:

X:float、float2、 float3 或 float4

相除后的值。

Y:与输入 X 相同

除数值。

输出:

Output:与输入 X 相同

商,每个组件。

计算指定矢量的点积。

结果为标量值。可使用点积确定两个矢量之间的角度。

输入:

X:float、float2、 float3 或 float4

以下术语之一。

Y:与输入 X 相同

以下术语之一。

输出:

Output: float

点积。

下限

计算每个元素的指定输入的下限。

对于结果的每个分量,其值是小于或等于输入的对应分量的最大整数值。结果的每个分量均为整数。

输入:

X:float、float2、 float3 或 float4

要为其计算下限的值。

输出:

Output:与输入 X 相同

下限,每个组件。

Fmod

计算指定输入的组件范围的模数(余数)。

对于结果的每个分量,将用输入 Y 的对应分量减去输入 X 的对应分量的某个整数倍数 m,以产生一个余数。选择的倍数 m 应使余数小于输入 Y 的对应分量,并应具有与输入 X 的对应分量相同的符号。例如,fmod(-3.14, 1.5) 等于 -0.14。

输入:

X:float、float2、 float3 或 float4

相除后的值。

Y:与输入 X 相同

除数值。

输出:

Output:与输入 X 相同

模数,每个组件。

Frac

移除每个组件指定输入的整数(整个-数字)部分。

对于结果的每个分量,将移除输入的对应分量的整数部分,但会保留小数部分和符号。此小数值在范围 [0, 1) 内。例如,值 -3.14 变成值 -0.14。

输入:

X:float、float2、 float3 或 float4

要为其计算小数部分的值。

输出:

Output:与输入 X 相同

小数部分,每个组件的。

Lerp

线性内插。计算指定输入的组件范围的加权平均值。

对于结果的每个分量,将选择输入 X 和 Y 的对应分量中的加权平均值。权重由 Percent(标量)提供,并将统一应用于所有分量。可使用此方法在点、颜色、特性和其他值之间进行插值计算。

输入:

X:float、float2、 float3 或 float4

原始值。当 Percent 为零时,结果等于此输入。

Y:与输入 X 相同

终止值。当 Percent 为一个时,结果等于此输入。

Percent: float

表示为从输入 X 到输入 Y 的距离百分比的标量权重。

输出:

Output:与输入 X 相同

与指定输入共线的值。

乘加

计算指定输入的组件范围的乘加。

对于结果的每个分量,输入 M 和 A 的对应分量的积将与输入 B 的对应分量相加。此运算顺序可在常用公式中找到,例如,在线条的点斜线公式中,以及在用于缩放输入然后进行偏移的公式中。

输入:

M:float、float2、 float3 或 float4

要相乘的值之一。

A:与输入 M 相同

要相乘的值之一。

B:与输入 M 相同

要添加到其他两个输入的产品的值。

输出:

Output:与输入 M 相同

乘加的结果,每个组件。

最大值

计算指定输入的组件范围的最大值。

对于结果的每个分量,将选取输入的对应分量中的较大者。

输入:

X:float、float2、 float3 或 float4

要为其计算最大值的一个值。

Y:与输入 X 相同

要为其计算最大值的一个值。

输出:

Output:与输入 X 相同

最大值,每个组件。

最小值

计算指定输入的组件范围的最小值。

对于结果的每个分量,将选取输入的对应分量中的较小者。

输入:

X:float、float2、 float3 或 float4

要为其计算最小值的一个值。

Y:与输入 X 相同

要为其计算最小值的一个值。

输出:

Output:与输入 X 相同

最小值,每个组件。

相乘

计算指定输入的组件范围的乘积。

对于结果的每个分量,输入 X 和输入 Y 的对应分量将全部相乘。

输入:

X:float、float2、 float3 或 float4

要相乘的值之一。

Y:与输入 X 相同

要相乘的值之一。

输出:

Output:与输入 X 相同

产品,每个组件。

标准化

对指定向量规范化。

规范化矢量将保留原始矢量的方向,但不保留其大小。可使用规范化矢量简化矢量大小并不重要的计算。

输入:

X: float2, float3 或 float4

要标准化的向量。

输出:

Output:与输入 X 相同

规范化的向量。

负一。

计算 1 与每个组件指定输入之差。

对于结果的每个分量,将用 1 减去输入的对应分量。

输入:

X:float、float2、 float3 或 float4

1 要减去的值。

输出:

Output:与输入 X 相同

计算每个组件的 1 与指定输入之差。

电源

计算指定输入的组件范围的幂运算结果(幂)。

对于结果的每个分量,以输入 X 的对应分量为底数,以输入 Y 的对应分量为指数进行幂运算。

输入:

X:float、float2、 float3 或 float4

基本值

Y:与输入 X 相同

指数值。

输出:

Output:与输入 X 相同

幂运算,每个组件。

饱和

夹紧指定的输入的每个元素为范围 [0, 1]。

可以使用此范围来表示计算中的百分比和其他相对度量。对于结果的每个组件,如输入值小于 0,则使相应组件值等于 0,如输入值大于 1,组件值等于 1,如输入值在此范围之内,则不变。

输入:

X:float、float2、 float3 或 float4

要饱和的值。

输出:

Output:与输入 X 相同

饱和值,每个组件。

Sin

以弧度为单位,计算每个元素的指定输入的正弦。

对于结果的每个分量,将计算对应分量的正弦值(以弧度形式提供)。结果包含具有范围 [-1, 1] 内的值的分量。

输入:

X:float、float2、 float3 或 float4

计算正弦的值(以弧度为单位)。

输出:

Output:与输入 X 相同

正弦,每个组件。

Sqrt

计算每个元素的指定输入的平方根。

对于结果的每个分量,将计算对应分量的平方根。

输入:

X:float、float2、 float3 或 float4

要为其计算平方根的值。

输出:

Output:与输入 X 相同

平方根,每个组件。

相减

计算指定输入的组件范围的差。

对于结果的每个分量,将用输入 Y 的对应分量减去输入 X 的对应分量。可使用此运算计算从第一个输入延伸到第二个输入的矢量。

输入:

X:float、float2、 float3 或 float4

要作为被减数的值。

Y:与输入 X 相同

要从输入 X 中减去的值。

输出:

Output:与输入 X 相同

差异,每个组件。

转换 3D 向量

转换该指定 3-D 向量到不同的空间。

可使用此方法将点或矢量传入公共空间,以便能使用它们执行有意义的计算。

输入:

Vector: float3

要变换的向量。

输出:

Output: float3

转换的向量。

从系统

矢量的本机空间。

对系统

要将矢量转换到的空间。