使用英语阅读

通过


Device Class

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

The parent object of all graphical objects in the scene.

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

Syntax

public class Device : IDisposable

Remarks

A device performs primitive-based rendering, creates resources, handles system-level variables, and gets and sets palettes.

Examples

The following code example creates a device.

public class 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";
    }

    public bool 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);
            return true;
        }
        catch (DirectXException)
        {
            return false;
        }
    }
    private void 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();
    }
    protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
    {
        // Render on painting.
        this.Render();
    }
    protected override void 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>
    static void 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();
            //}
        }
    }
}

Inheritance Hierarchy

System.Object
  Microsoft.WindowsMobile.DirectX.Direct3D.Device

Thread Safety

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

Platforms

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.

Version Information

.NET Compact Framework

Supported in: 3.5, 2.0

See Also

Reference

Device Members

Microsoft.WindowsMobile.DirectX.Direct3D Namespace

Other Resources

Mobile Direct3D Programming in the .NET Compact Framework