数値演算ノード

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

シェーダー デザイナーでは、代数演算、論理演算、三角関数演算などの数値演算が演算ノードによって実行されます。

注意

シェーダー デザイナーで演算ノードを使用する場合、型の上位変換は特に顕著です。 型の上位変換が入力パラメーターに与える影響については、「シェーダー デザイナー ノード」の「入力の上位変換」を参照してください。

演算ノードの参照

ノード 詳細 プロパティ
Abs 指定された入力の要素ごとの絶対値を計算します。

入力 X の要素ごとに、結果のすべての要素が正の値になるように負の値が正の値に変換されます。

入力:

X: floatfloat2float3、または float4
絶対値を決定する値。

Output:

Output: 入力 X と同じ
要素ごとの絶対値。
なし。
Add 指定された入力の要素ごとの合計を計算します。

結果の要素ごとに、入力 X と入力 Y の対応する要素が合計されます。

入力:

X: floatfloat2float3、または float4
合計する値のいずれか。

Y: 入力 X と同じ
合計する値のいずれか。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの合計。
なし。
シール 指定された入力の要素ごとの切り上げを計算します。

各値はその値以上の最も近い整数に切り上げられます。

入力:

X: floatfloat2float3、または float4
切り上げを計算する値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの切り上げ。
なし。
クランプ 指定された入力の各要素を定義済みの範囲にクランプします。

結果の要素ごとに、定義済みの範囲に満たない値が範囲内の最小値に変更され、定義済みの範囲を超える値が範囲内の最大値に変更されます。範囲内の値は変更されません。

入力:

X: floatfloat2float3、または float4
クランプする値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとのクランプされた値。
最大値
範囲の最大有効値です。

最小値
範囲の最小有効値です。
コサイン 指定された入力の要素ごとのコサイン (ラジアン) を計算します。

結果の要素ごとに、対応する要素のコサイン (ラジアン) が計算されます。 結果の要素の値の範囲は [-1, 1] です。

入力:

X: floatfloat2float3、または float4
コサイン (ラジアン) を計算する値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとのコサイン。
なし。
[十字形] 指定された 3 要素のベクターのクロス積を計算します。

クロス積を使用して、2 つのベクターで定義される表面の法線を計算することができます。

入力:

X: float3
クロス積の左側のベクター。

Y: float3
クロス積の右側のベクター。

出力を次に示します。

Output: float3
クロス積。
なし。
距離 指定されたポイント間の距離を計算します。

正のスカラー値が返されます。

入力:

X: floatfloat2float3、または float4
相互間の距離を特定するポイントのいずれか。

Y: 入力 X と同じ
相互間の距離を特定するポイントのいずれか。

出力を次に示します。

Output: 入力 X と同じ
距離。
なし。
分割 指定された入力の要素ごとの商を計算します。

結果の要素ごとに、入力 X の対応する要素が入力 Y の対応する要素で除算されます。

入力:

X: floatfloat2float3、または float4
除算された値。

Y: 入力 X と同じ
除数の値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの商。
なし。
ドット 指定されたベクターのドット積を計算します。

スカラー値が返されます。 ドット積を使用して、2 つのベクター間の角度を特定することができます。

入力:

X: floatfloat2float3、または float4
項のいずれか。

Y: 入力 X と同じ
項のいずれか。

出力を次に示します。

Output: float
ドット積。
なし。
切り下げ 指定された入力の要素ごとの切り下げを計算します。

結果の要素ごとに、入力の対応する要素以下の最も近い整数に値が切り下げられます。 結果のすべての要素が整数になります。

入力:

X: floatfloat2float3、または float4
切り下げを計算する値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの切り下げ。
なし。
Fmod 指定された入力の要素ごとの剰余を計算します。

結果の要素ごとに、入力 Y の対応する要素の整数倍の値 m が入力 X の対応する要素から除算され、その剰余が返されます。 倍数 m には、剰余が入力 Y の対応する要素より小さくなり、符号が入力 X の対応する要素と同じになる値が選択されます。 たとえば、fmod(-3.14, 1.5) は -0.14 を返します。

入力:

X: floatfloat2float3、または float4
除算された値。

Y: 入力 X と同じ
除数の値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの剰余。
なし。
分数 指定された入力の要素ごとの整数部分を削除します。

結果の要素ごとに、入力の対応する要素の整数部分が削除されます。小数部分と符号は変更されません。 この小数値の範囲は [0, 1) です。 たとえば、-3.14 は -0.14 になります。

入力:

X: floatfloat2float3、または float4
小数部分を計算する値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの小数部分。
なし。
Lerp 線形補間。 指定された入力の要素ごとの加重平均を計算します。

結果の要素ごとの、入力 X および Y の対応する要素の加重平均。 重みは Percent (スカラー) で指定され、すべての要素に均一に適用されます。 これを使用して、ポイント、色、属性などの値を補間することができます。

入力:

X: floatfloat2float3、または float4
開始値。 Percent がゼロの場合、結果は入力と同じです。

Y: 入力 X と同じ
終了値。 Percent が 1 の場合、結果は入力と同じです。

Percent: float
入力 X から入力 Y までの距離に対する割合として表されるスカラーの重み。

出力を次に示します。

Output: 入力 X と同じ
指定された入力に対して共線的である値。
なし。
積和演算 指定された入力の要素ごとの積和演算を実行します。

結果の要素ごとに、入力 M および A の対応する要素の積が入力 B の対応する要素に加算されます。 この演算は、直線のポイントとスロープの数式や、スケールの後にバイアスを適用する数式など、一般的な数式で使用されます。

入力:

M: floatfloat2float3、または float4
積和演算する値のいずれか。

A: 入力 M と同じ
積和演算する値のいずれか。

B: 入力 M と同じ
他の 2 つの入力の積に加算する値。

出力を次に示します。

Output: 入力 M と同じ
要素ごとの積和演算の結果。
なし。
最大値 指定された入力の要素ごとの最大値を計算します。

結果の要素ごとに、入力の対応する要素の大きい方の値が取得されます。

入力:

X: floatfloat2float3、または float4
最大値を計算する値のいずれか。

Y: 入力 X と同じ
最大値を計算する値のいずれか。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの最大値。
なし。
最小値 指定された入力の要素ごとの最小値を計算します。

結果の要素ごとに、入力の対応する要素の小さい方の値が取得されます。

入力:

X: floatfloat2float3、または float4
最小値を計算する値のいずれか。

Y: 入力 X と同じ
最小値を計算する値のいずれか。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの最小値。
なし。
Multiply 指定された入力の要素ごとの積を計算します。

結果の要素ごとに、入力 X および Y の対応する要素が乗算されます。

入力:

X: floatfloat2float3、または float4
積和演算する値のいずれか。

Y: 入力 X と同じ
積和演算する値のいずれか。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの積。
なし。
正規化 指定されたベクターを正規化します。

正規化されたベクターは、元のベクターの向きを保持しますが、大きさは保持しません。 正規化されたベクターを使用すると、ベクターの大きさは重要でない場合の計算が簡単になります。

入力:

X: float2float3、または float4
正規化するベクター。

出力を次に示します。

Output: 入力 X と同じ
正規化されたベクター。
なし。
1 マイナス 1 と指定された入力の差を要素ごとに計算します。

結果の要素ごとに、入力の対応する要素が 1 から減算されます。

入力:

X: floatfloat2float3、または float4
1 から減算される値。

出力を次に示します。

Output: 入力 X と同じ
1 と指定された入力の、要素ごとの差。
なし。
累乗近似 指定された入力の要素ごとの指数演算 (累乗近似) を実行します。

結果の要素ごとに、入力 X の対応する要素が入力 Y の対応する要素で累乗されます。

入力:

X: floatfloat2float3、または float4
ベース値。

Y: 入力 X と同じ
指数の値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの指数演算。
なし。
飽和 指定された入力の各要素を [0, 1] の範囲にクランプします。

この範囲は、パーセンテージなどの相対単位を表すために計算で使用できます。 結果の要素ごとに、入力の対応する要素の 0 未満の値が 0 に変更され、1 を超える値が 1 に変更されます。範囲内の値は変更されません。

入力:

X: floatfloat2float3、または float4
飽和させる値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの飽和させられた値。
なし。
サイン 指定された入力の要素ごとのサイン (ラジアン) を計算します。

結果の要素ごとに、対応する要素のサイン (ラジアン) が計算されます。 結果の要素の値の範囲は [-1, 1] です。

入力:

X: floatfloat2float3、または float4
サイン (ラジアン) を計算する値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとのサイン。
なし。
平方根 指定された入力の要素ごとの平方根を計算します。

結果の要素ごとに、対応する要素の平方根が計算されます。

入力:

X: floatfloat2float3、または float4
平方根を計算する値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの平方根。
なし。
減算 指定された入力の要素ごとの差を計算します。

結果の要素ごとに、入力 Y の対応する要素が入力 X の対応する要素から減算されます。 これを使用して、1 つ目の入力から 2 つ目の入力までのベクターを計算できます。

入力:

X: floatfloat2float3、または float4
減算元の値。

Y: 入力 X と同じ
入力 X から減算する値。

出力を次に示します。

Output: 入力 X と同じ
要素ごとの差。
なし。
3-D ベクターの変換 指定された 3-D ベクターを別の空間に変換します。

これを使用すると、ポイントまたはベクターを共通の空間に移して、重要な計算の実行に使用することができます。

入力:

Vector: float3
変換するベクター。

出力を次に示します。

Output: float3
変換されたベクター。
[システムから]
ベクターのネイティブ空間です。

[システムへ]
ベクターを変換する空間です。