Device.LightsFixed-Eigenschaft
Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]
Ruft die light-Auflistung auf dem aktuellen Gerät mit Festkommaberechnungen ab.
Namespace: Microsoft.WindowsMobile.DirectX.Direct3D
Assembly: Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)
Syntax
'Declaration
Public ReadOnly Property LightsFixed As LightsFixedCollection
Get
'Usage
Dim instance As Device
Dim value As LightsFixedCollection
value = instance.LightsFixed
public LightsFixedCollection LightsFixed { get; }
public:
property LightsFixedCollection^ LightsFixed {
LightsFixedCollection^ get ();
}
member LightsFixed : LightsFixedCollection
Eigenschaftswert
Typ: Microsoft.WindowsMobile.DirectX.Direct3D.LightsFixedCollection
LightFixed -Objekt.
Hinweise
Der .NET Compact Framework bietet LightFixed für Festkommaberechnungen.
Beispiele
Das folgende Codebeispiel veranschaulicht die LightFixed Strukturen verwenden.
' 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.PublicSub FrameMove()
lightData = device.LightsFixed(2)
' Rotate through the various light typesIf Fix(appTime) Mod 20 < 10 Then
device.LightsFixed(2).Type = LightType.Point
Else
device.LightsFixed(2).Type = LightType.Directional
EndIf
' 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.IfNot _
device.DeviceCaps.VertexProcessingCaps.SupportsPositionalLights _
ThenIf device.LightsFixed(2).Type = LightType.Point Then
device.LightsFixed(2).Type = LightType.Directional
EndIfEndIf
' Values for the light position, direction, and colorDim x AsSingle = System.Convert.ToSingle(Math.Sin(appTime * 2.0F))
Dim y AsSingle = System.Convert.ToSingle( _
Math.Sin(appTime * 2.246F))
Dim z AsSingle = System.Convert.ToSingle( _
Math.Sin(appTime * 2.64F))
Dim r AsByte = System.Convert.ToByte((0.5F + 0.5F * x) * &HFF)
Dim g AsByte = System.Convert.ToByte((0.5F + 0.5F * y) * &HFF)
Dim b AsByte = System.Convert.ToByte((0.5F + 0.5F * z) * &HFF)
device.LightsFixed(2).DiffuseColor = _
ColorValueFixed.FromColor( _
System.Drawing.Color.FromArgb(r, g, b))
device.LightsFixed(2).Range = 100.0F
SelectCase 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
Case LightType.Directional
device.LightsFixed(2).Direction = _
New Vector3Fixed(x, y, z)
EndSelect
device.LightsFixed(2).Update()
EndSub
// 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.publicvoid FrameMove()
{
lightData = device.LightsFixed[2];
// Rotate through the various light typesif (((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 colorfloat 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();
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Plattformen
Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC
Die .NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET framework.
Versionsinformationen
.NET Compact Framework
Unterstützt in: 3.5, 2.0