次の方法で共有


D3DXSHMultiply2 関数 (D3DX10Math.h)

注意

D3DX (D3DX 9、D3DX 10、および D3DX 11) ユーティリティ ライブラリは非推奨であり、Windows ストア アプリではサポートされていません。

注意

この関数を使用する代わりに、 球面調和演算 ライブラリ関数 XMSHMultiply2 を使用することをお勧めします。

2 つの球面調和関数 (fg) の積を計算します。 どちらの関数も 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)

要件

要件
ヘッダー
D3DX10Math.h
ライブラリ
D3DX10.lib

関連項目

数値演算関数