SphericalHarmonics.EvaluateDirection(Single[],Int32,Vector3) Method (Microsoft.DirectX.Direct3D)

Evaluates the spherical harmonic (SH) basis functions from an input direction vector.


Visual Basic Public Shared Sub EvaluateDirection( _
    ByVal output() As Single, _
    ByVal order As Integer, _
    ByVal direction As Vector3 _
C# public static void EvaluateDirection(
    float[] output,
    int order,
    Vector3 direction
C++ public:
static void EvaluateDirection(
    array<float>^ output,
    int order,
    Vector3 direction
JScript public static function EvaluateDirection(
    output : float[],
    order : int,
    direction : Vector3


output System.Single[]
SH output coefficients. The basis function Ylm is stored at location l2 + m + l.
order System.Int32
Order of the SH evaluation. Must be in the range of SphericalHarmonics.MinimumOrder to SphericalHarmonics.MaximumOrder, inclusive. The evaluation generates order2 coefficients. The degree of the evaluation is order - 1.
direction Microsoft.DirectX.Vector3
(x, y, z) direction vector in which to evaluate the SH basis functions. Must be normalized. See Remarks.


Each coefficient of the basis function Ylm is stored at location l2 + m + l, where:

  • 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.

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.

Spherical coordinates

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.

Spherical coordinates equations