D3DXSHMultiply2 function
Computes the product of two functions represented using SH (f and g).
Syntax
FLOAT* D3DXSHMultiply2(
_In_ FLOAT *pOut,
_In_ const FLOAT *pF,
_In_ const FLOAT *pG
);
Parameters

pOut [in]

Type: FLOAT*
Pointer to the output SH coefficients  basis function Ylm is stored at l*l + m+l.

pF [in]

Type: const FLOAT*
Input SH coeffs for first function.

pG [in]

Type: const FLOAT*
Second set of input SH coeffs.
Return value
Type: FLOAT*
Pointer to SH output coefficients.
Remarks
The order is a number between 2 and 6 inclusive. So this page actually documents several functions: D3DXSHMultiply2, D3DXSHMultiply3, ... D3DXSHMultiply6.
Computes the product of two functions represented using SH (f and g), where pOut[i] = int(y_i(s) * f(s) * g(s)), where y_i(s) is the ith SH basis function, f(s) and g(s) are SH functions (sum_i(y_i(s)*c_i)). The order O determines the lengths of the arrays, where there should always be O^2 coefficients. In general the product of two SH functions of order O generates an SH function of order 2*O  1, but the results are truncated. This means that the product commutes (f*g == g*f) but doesn't associate (f*(g*h) != (f*g)*h.
Requirements
Header 

See also