SphericalHarmonics.EvaluateSphericalLight Method

Language:

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

Definition

Visual Basic Public Shared Sub EvaluateSphericalLight( _
    ByVal order As Integer, _
    ByVal position As Vector3, _
    ByVal radius As Single, _
    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 EvaluateSphericalLight(
    int order,
    Vector3 position,
    float radius,
    float redIntensity,
    float greenIntensity,
    float blueIntensity,
    float[] redOutput,
    float[] greenOutput,
    float[] blueOutput
);
C++ public:
static void EvaluateSphericalLight(
    int order,
    Vector3 position,
    float radius,
    float redIntensity,
    float greenIntensity,
    float blueIntensity,
    array<float>^ redOutput,
    array<float>^ greenOutput,
    array<float>^ blueOutput
);
JScript public static function EvaluateSphericalLight(
    order : int,
    position : Vector3,
    radius : float,
    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.
position Microsoft.DirectX.Vector3
The (x, y, z) hemisphere axis direction vector in which to evaluate the SH basis functions. See Remarks.
radius System.Single
Radius of the spherical light source.
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 spherical light and returns spectral SH data. There is no normalization of the intensity of the light like there is for directional lights, so care has to be taken when specifying the intensities. 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