次の方法で共有


DeviceType 列挙型

DeviceType 列挙型

使用例

  • Direct3D ハードウェア デバイスの作成
  • Direct3D ディスプレイ フォーマットの設定

デバイスの種類を定義する。

定義

Visual Basic Public Enum DeviceType
C# public enum DeviceType
Managed C++ __value public enum DeviceType
JScript public enum DeviceType

定数

定数名 説明
Software
Reference
Hardware

使用例

Direct3D ハードウェア デバイスの作成

この例では、ハードウェア アブストラクション レイヤとソフトウェア頂点処理を使う Microsoft® Direct3D® Device の作成方法を示す。

このコードでは、以下のオプションを選択する。

  • DeviceType 列挙の Hardware 定数は、ハードウェアのラスタ化とシェーディングを指定する。
  • CreateFlags 列挙の SoftwareVertexProcessing 定数は、ソフトウェア頂点処理動作を指定する。
using Microsoft.DirectX.Direct3D;

public class Meshes : Form
{
    // Global variables for this project
    Device device = null;   // Create rendering device
    PresentParameters presentParams = new PresentParameters();
    .
    .
    .
    // Create the Direct3D Device object
    device = new Device(0, DeviceType.Hardware, this, 
                        CreateFlags.SoftwareVertexProcessing, presentParams);
    .
    .
    .
}

Direct3D ディスプレイ フォーマットの設定

この例では、ポリゴン モデルのプレゼンテーション引数とデバイス作成引数を設定する。

このコードでは、Form クラスから Vertices オブジェクトをインスタンス化し、モデルをディスプレイにレンダリングするためのフォーマットを設定する。

ディスプレイ フォーマットは、PresentParameters クラスのプロパティで設定する。フラグは、ハードウェア デバイスを使って、頂点をソフトウェアで処理するように設定している。

using Microsoft.DirectX.Direct3D;
.
.
.
namespace mySetUpDisplayForm
{
    public class Vertices : System.Windows.Forms.Form
    {
        // Global variables for this project
        Device device = null;              // 1. Create rendering device
        VertexBuffer vertexBuffer = null;  // 2. Create vertex buffer
        
        // Define vertex structure
        .
        .
        .
    }
        public Vertices()
    {
        // Set up display form
    }
        public void OnCreateDevice(object sender, EventArgs e)
    {
        // Create and fill a vertex buffer to represent the Direct3D object
    }

    public bool InitializeGraphics()
    {
        try
        {    
            // Create a PresentParameters object
            PresentParameters presentParams = new PresentParameters();
            
            // Don't run full screen
            presentParams.Windowed = true;  
            
            // Discard the frames
            presentParams.SwapEffect = SwapEffect.Discard; 
            
            // Instantiate a device
            device = new Device(0,
                                DeviceType.Hardware,
                                this,
                                CreateFlags.SoftwareVertexProcessing,
                                presentParams);
            device.DeviceCreated +=
                                new System.EventHandler(this.OnCreateDevice);
            this.OnCreateDevice(device, null);
            return true;
        }
            catch { return false; }
    }
}

列挙の情報

名前空間 Microsoft.DirectX.Direct3D
アセンブリ Microsoft.DirectX.Direct3D (microsoft.directx.direct3d.dll)
厳密名 Microsoft.DirectX.Direct3D,  Version=0293,  Culture=neutral,  PublicKeyToken=d3231b57b74a1492

© 2002 Microsoft Corporation. All rights reserved. Terms of use.