D3DXSHMultiply6 関数

注意

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

注意

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

2 つの球面調和関数 (f と g) の積を計算します。 どちらの関数も N = 6 の順序です。

構文

FLOAT* D3DXSHMultiply6(
  _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 = 6 の 2 つの SH 関数の積は、順序 2 × N - 1 = 11 の 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 と g は次の SH 関数を使用します。

sum_i(y_i(s)*c_i)

要件

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

関連項目

数値演算関数