Device-Klasse
Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]
Das übergeordnete Objekt aller grafischen Objekte in der Szene.
Namespace: Microsoft.WindowsMobile.DirectX.Direct3D
Assembly: Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)
Syntax
'Declaration
Public Class Device _
Implements IDisposable
'Usage
Dim instance As Device
public class Device : IDisposable
public ref class Device : IDisposable
type Device =
class
interface IDisposable
end
Hinweise
Ein Gerät führt primitiven basierende Rendering, erstellt Ressourcen, behandelt Variablen auf Systemebene und abgerufen und festgelegt Paletten.
Beispiele
Im folgenden Codebeispiel wird ein Gerät erstellt.
PublicClass Form1
Inherits Form
' Set global variables for this project.Private device As Device = NothingPublicSubNew()
' Set the initial size and caption of the form.Me.ClientSize = New System.Drawing.Size(400, 300)
Me.Text = "D3D Tutorial 01: CreateDevice"EndSub 'NewPublicFunction InitializeGraphics() AsBooleanTry ' Set up presentation parameters and create the Direct3D ' device.Dim presentParams AsNew PresentParameters()
presentParams.Windowed = True
presentParams.SwapEffect = SwapEffect.Discard
device = New Device(0, DeviceType.Default, Me, CreateFlags.None, presentParams)
ReturnTrueCatchReturnFalseEndTryEndFunctionPrivateSub Render()
If device IsNothingThenReturnEndIf 'Clear the backbuffer to a blue color.
device.Clear(ClearFlags.Target, System.Drawing.Color.Blue, 1.0F, 0)
'Begin the scene.
device.BeginScene()
'Render scene objects, if desired. 'End the scene.
device.EndScene()
device.Present()
EndSubProtectedOverridesSub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
' Render on painting.Me.Render()
EndSubProtectedOverridesSub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)
If Fix(System.Convert.ToByte(e.KeyChar)) = Fix(System.Windows.Forms.Keys.Escape) Then ' Handle the ESC key being pressed.Me.Close()
EndIfEndSubSharedSub Main()
Dim DeviceForm AsNew Form1()
TryIfNot DeviceForm.InitializeGraphics() Then ' Initialize Direct3D.
MsgBox("Could not initialize Direct3D. This tutorial will exit.")
ReturnEndIf
DeviceForm.Show()
'While the form is still valid, render and process messages. 'While DeviceForm.Created ' DeviceForm.Render() ' Application.DoEvents() 'End WhileFinally
DeviceForm.Dispose()
EndTryEndSubEndClass
publicclass CreateDevice : Form
{
// Set global variables for this project.
Device device = null;
public CreateDevice()
{
// Set the initial size of the form.this.ClientSize = new System.Drawing.Size(400, 300);
// Set the caption for the form.this.Text = "D3D Tutorial 01: CreateDevice";
}
publicbool InitializeGraphics()
{
try
{
// Set up presentation parameters and create the // Direct3D device.
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true;
presentParams.SwapEffect = SwapEffect.Discard;
device = new Device(0, DeviceType.Default, this, CreateFlags.None, presentParams);
returntrue;
}
catch (DirectXException)
{
returnfalse;
}
}
privatevoid Render()
{
if (device == null)
return;
//Clear the backbuffer to a blue color.
device.Clear(ClearFlags.Target, System.Drawing.Color.Blue, 1.0f, 0);
//Begin the scene.
device.BeginScene();
// Rendering scene objects, if desired.//End the scene.
device.EndScene();
device.Present();
}
protectedoverridevoid OnPaint(System.Windows.Forms.PaintEventArgs e)
{
// Render on painting.this.Render();
}
protectedoverridevoid OnKeyPress(System.Windows.Forms.KeyPressEventArgs e)
{
if ((int)(byte)e.KeyChar == (int)System.Windows.Forms.Keys.Escape)
// Handle the ESC key being pressed.this.Close();
}
/// <Summary>/// The main entry point for the application./// </Summary>staticvoid Main()
{
using (CreateDevice DeviceForm = new CreateDevice())
{
// Initialize Direct3D.if (!DeviceForm.InitializeGraphics())
{
MessageBox.Show("Could not initialize Direct3D. This tutorial will exit.");
return;
}
DeviceForm.Show();
// While the form is still valid, render and process messages.// while (DeviceForm.Created)//{
DeviceForm.Render();
Application.DoEvents();
//}
}
}
}
Vererbungshierarchie
System.Object
Microsoft.WindowsMobile.DirectX.Direct3D.Device
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
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
Siehe auch
Referenz
Microsoft.WindowsMobile.DirectX.Direct3D-Namespace