# D3DXSHMultiply2 function

Computes the product of two spherical harmonics functions (f and g). Both functions are of order N = 2.

## 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 — the basis function Ylm is stored at l2 + m + l. The order N determines the length of the array, where there should always be N2 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 = 2 generates an SH function of order 2 × N - 1 = 3, 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

Math Functions

Build date: 11/16/2013