![]() |
![]() |
![]() |
Evaluates the spherical harmonic (SH) basis functions from an input direction vector.
Syntax
FLOAT *WINAPI D3DXSHEvalDirection(
FLOAT *pOut, UINT Order, const D3DXVECTOR3 *pDir );
Parameters
- pOut
- [out] Pointer to SH output coefficients. The evaluation generates Order2 coefficients. See Remarks.
- Order
- [in] Order of the SH evaluation. Must be in the range of D3DXSH_MINORDER to D3DXSH_MAXORDER, inclusive. The evaluation generates Order2 coefficients. The degree of the evaluation is Order - 1.
- pDir
- [in] (x, y, z) direction vector in which to evaluate the SH basis functions. Must be normalized. See Remarks.
Return Value
Pointer to SH output coefficients. See Remarks.
Remarks
Each coefficient of the basis function Ylm is stored at memory location l2 + m + l, where:
On the sphere with unit radius as shown, direction can be specified simply with theta, the angle about the z-axis in the right-handed direction, and phi, the angle from z.
- l is the degree of the basis function.
- m is the basis function index for the given l value and ranges from -l to l, inclusive.
The following equations show the relationship between Cartesian (x, y, z) and spherical (theta, phi) coordinates on the unit sphere. The angle theta varies over the range of 0 to 2 pi, while phi varies from 0 to pi.
Function Information
Header d3dx9math.h Import library d3dx9.lib Minimum operating systems Windows 98
See Also
Precomputed Radiance Transfer