D3DXSHMultiply2 関数 (D3DX10Math.h)
注意
D3DX (D3DX 9、D3DX 10、および D3DX 11) ユーティリティ ライブラリは非推奨であり、Windows ストア アプリではサポートされていません。
注意
この関数を使用する代わりに、 球面調和演算 ライブラリ関数 XMSHMultiply2 を使用することをお勧めします。
2 つの球面調和関数 (f と g) の積を計算します。 どちらの関数も N = 2 の順序です。
構文
FLOAT* D3DXSHMultiply2(
_In_ FLOAT *pOut,
_In_ const FLOAT *pF,
_In_ const FLOAT *pG
);
パラメーター
-
pOut [in]
-
型: FLOAT*
出力 SH 係数へのポインター — 基底関数 Ylm は、l² + m + l に格納されます。 順序 N は配列の長さを決定します。ここで、N² 係数は常に存在する必要があります。
-
pF [in]
-
型: const FLOAT*
最初の関数の入力 SH 係数。
-
pG [in]
-
型: const FLOAT*
入力 SH 係数の 2 番目のセット。
戻り値
型: FLOAT*
SH 出力係数へのポインター。
注釈
次数 N = 2 の 2 つの SH 関数の積は、次数 2 × N - 1 = 3 の SH 関数を生成しますが、結果は切り捨てられます。 つまり、製品は ( f × g g = × f ) を通勤しますが、 ( f × (g × h) ≠ ( f × g) × h) は関連付けられません。
この関数では、次の式を使用します。
pOut[i] = int(y_i(s) * f(s) * g(s))
ここで、y_iは ITH SH 基底関数であり、f(s) と g(s) は次の SH 関数を使用します。
sum_i(y_i(s)*c_i)
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
関連項目