Export (0) Print
Expand All

LightFixed Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Represents a set of lighting properties. This class cannot be inherited.

Namespace:  Microsoft.WindowsMobile.DirectX.Direct3D
Assembly:  Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)

public sealed class LightFixed

This class provides support for fixed-point math operations.

The following code example shows how to use LightFixed structures.


// This code example is from the
// Direct3D Mobile Fixed Point Lighting Sample
// of the .NET Compact Framework Samples in the SDK.

// The FrameMove method is called once per frame,
// and is the entry point for animating the scene.

public void FrameMove()
{
    lightData = device.LightsFixed[2];
    // Rotate through the various light types
    if (((int)appTime % 20) < 10)
        device.LightsFixed[2].Type = LightType.Point;
    else
        device.LightsFixed[2].Type = LightType.Directional;

    // Make sure the light type is supported by the device. If
    // VertexProcessingCaps.PositionAllLights is not set, the
    // device does not support point or spot lights, so change
    // light #2's type to a directional light.
    if
    (!device.DeviceCaps.VertexProcessingCaps.SupportsPositionalLights)
    {
        if (device.LightsFixed[2].Type == LightType.Point)
            device.LightsFixed[2].Type = LightType.Directional;
    }

    // Values for the light position, direction, and color
    float x = (float)Math.Sin(appTime*2.000f);
    float y = (float)Math.Sin(appTime*2.246f);
    float z = (float)Math.Sin(appTime*2.640f);

    byte r = (byte)((0.5f + 0.5f * x) * 0xff);
    byte g = (byte)((0.5f + 0.5f * y) * 0xff);
    byte b = (byte)((0.5f + 0.5f * z) * 0xff);
    device.LightsFixed[2].DiffuseColor =
        ColorValueFixed.FromColor(System.Drawing.Color.FromArgb(r,
        g, b));
    device.LightsFixed[2].Range = 100.0f;

    switch(device.LightsFixed[2].Type)
    {
        case LightType.Point:
            device.LightsFixed[2].Position =
                new Vector3Fixed(4.5f * x, 4.5f * y, 4.5f * z);
            device.LightsFixed[2].Attenuation1  = 0.4f;
            break;
        case LightType.Directional:
            device.LightsFixed[2].Direction =
                new Vector3Fixed(x, y, z);
            break;
    }
    device.LightsFixed[2].Update();
}


System.Object
  Microsoft.WindowsMobile.DirectX.Direct3D.LightFixed

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Compact Framework

Supported in: 3.5, 2.0
Show:
© 2014 Microsoft