Share via


SphericalHarmonics.EvaluateDirectionalLight(Int32,Vector3,Single,Single,Single,GraphicsStream,GraphicsStream,GraphicsStream) Method (Microsoft.DirectX.Direct3D)

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 GraphicsStream, _
    ByVal greenOutput As GraphicsStream, _
    ByVal blueOutput As GraphicsStream _
)
C# public static void EvaluateDirectionalLight(
    int order,
    Vector3 direction,
    float redIntensity,
    float greenIntensity,
    float blueIntensity,
    GraphicsStream redOutput,
    GraphicsStream greenOutput,
    GraphicsStream blueOutput
);
C++ public:
static void EvaluateDirectionalLight(
    int order,
    Vector3 direction,
    float redIntensity,
    float greenIntensity,
    float blueIntensity,
    GraphicsStreamredOutput,
    GraphicsStreamgreenOutput,
    GraphicsStreamblueOutput
);
JScript public static function EvaluateDirectionalLight(
    order : int,
    direction : Vector3,
    redIntensity : float,
    greenIntensity : float,
    blueIntensity : float,
    redOutput : GraphicsStream,
    greenOutput : GraphicsStream,
    blueOutput : GraphicsStream
);

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 Microsoft.DirectX.GraphicsStream
Output SH vector for the blue component.
greenOutput Microsoft.DirectX.GraphicsStream
Output SH vector for the green component.
blueOutput Microsoft.DirectX.GraphicsStream
Output SH vector for the blue 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.