SphericalHarmonics.EvaluateDirectionalLight Method

Language:

Evaluates a directional light and returns spectral spherical harmonic (SH) data.

Definition

Visual Basic Public Shared Sub EvaluateDirectionalLight( _
    ByVal order As Integer, _
    ByVal direction As Vector3, _
    ByVal redIntensity As Single, _
    ByVal greenIntensity As Single, _
    ByVal blueIntensity As Single, _
    ByVal redOutput() As Single, _
    ByVal greenOutput() As Single, _
    ByVal blueOutput() As Single _
)
C# public static void EvaluateDirectionalLight(
    int order,
    Vector3 direction,
    float redIntensity,
    float greenIntensity,
    float blueIntensity,
    float[] redOutput,
    float[] greenOutput,
    float[] blueOutput
);
C++ public:
static void EvaluateDirectionalLight(
    int order,
    Vector3 direction,
    float redIntensity,
    float greenIntensity,
    float blueIntensity,
    array<float>^ redOutput,
    array<float>^ greenOutput,
    array<float>^ blueOutput
);
JScript public static function EvaluateDirectionalLight(
    order : int,
    direction : Vector3,
    redIntensity : float,
    greenIntensity : float,
    blueIntensity : float,
    redOutput : float[],
    greenOutput : float[],
    blueOutput : float[]
);

Parameters

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
The (x, y, z) hemisphere axis direction vector in which to evaluate the SH basis functions. See Remarks.
redIntensity System.Single
The red intensity of the light.
greenIntensity System.Single
The green intensity of the light.
blueIntensity System.Single
The blue intensity of the light.
redOutput System.Single[]
Output SH vector for the red component.
greenOutput System.Single[]
Output SH vector for the green component.
blueOutput System.Single[]
Output SH vector for the red component.

Remarks

Evaluates a directional light and returns spectral SH data. The output vector is computed so that if the intensity ratio R/G/B is equal to 1, the resulting exit radiance of a point directly under the light on a diffuse object with an albedo of 1 would be 1.0. This will compute three spectral samples; redOutput will be returned, while greenOutput and blueOutput may be returned.

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

Exceptions
InvalidCallException The method call is invalid. For example, a method's parameter might contain an invalid value.


Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center