D3DXSHMultiply3 函数

注意

D3DX (D3DX 9、D3DX 10 和 D3DX 11) 实用工具库已弃用,并且不支持 Windows 应用商店应用。

注意

建议使用 球面调和数学 库函数 XMSHMultiply3,而不是使用此函数。

(fg) 计算两个球面调和函数的乘积。 这两个函数的顺序为 N = 3。

语法

FLOAT* D3DXSHMultiply3(
  _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 系数。

返回值

类型: FLOAT*

指向 SH 输出系数的指针。

备注

顺序为 N = 3 的两个 SH 函数的乘积将生成顺序为 2 × N - 1 = 5 的 SH 函数,但结果将被截断。 这意味着产品通勤 ( f × g = g × f ) ,但不将 ( f × ( g × h ) ≠ ( f × g ) × h ) 关联。

此函数使用以下公式:

pOut[i] = int(y_i(s) * f(s) * g(s))

其中 y_i (s) 是 ith SH 基函数,其中 f (s) 和 g (s) 使用以下 SH 函数:

sum_i(y_i(s)*c_i)

要求

要求
标头
D3DX10Math.h

D3DX10.lib

另请参阅

数学函数