D3DXSHMultiply3 function
Computes the product of two spherical harmonics functions (f and g). Both functions are of order N = 3.
Syntax
FLOAT* D3DXSHMultiply3( _In_ FLOAT *pOut, _In_ const FLOAT *pF, _In_ const FLOAT *pG );
Parameters
- pOut [in]
-
Type: FLOAT*
Pointer to the output SH coefficients — the basis function Yₗₘ is stored at l² + m + l. The order N determines the length of the array, where there should always be N² coefficients.
- pF [in]
-
Type: const FLOAT*
Input SH coefficients for first function.
- pG [in]
-
Type: const FLOAT*
Second set of input SH coefficients.
Return value
Type: FLOAT*
Pointer to SH output coefficients.
Remarks
The product of two SH functions of order N = 3 generates an SH function of order 2 × N - 1 = 5, 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 ).
This function uses the following equation:
pOut[i] = int(y_i(s) * f(s) * g(s))
where y_i(s) is the ith SH basis function, and where f(s) and g(s) use the following SH function:
sum_i(y_i(s)*c_i)
Requirements
|
Header |
|
|---|---|
|
Library |
|
See also