D3DDEVTYPE

デバイス タイプを定義します。

typedef enum D3DDEVTYPE
{
    D3DDEVTYPE_HAL = 1,
    D3DDEVTYPE_NULLREF = 4,
    D3DDEVTYPE_REF = 2,
    D3DDEVTYPE_SW = 3,
    D3DDEVTYPE_FORCE_DWORD = 0xffffffff,
} D3DDEVTYPE, *LPD3DDEVTYPE;

定数

  • D3DDEVTYPE_HAL
    ハードウェアによるラスター化。シェーディングは、ソフトウェア、ハードウェア、またはトランスフォームとライティングの組み合わせによって実行されます。
  • D3DDEVTYPE_NULLREF
    ハードウェアもリファレンス ラスター化も利用できないコンピューター上で Direct3D を初期化して、3D コンテンツの作成のためにリソースを有効化します。「解説」を参照してください。
  • D3DDEVTYPE_REF
    Direct3D 機能がソフトウェアに実装されます。ただし、リファレンス ラスタライザーは、可能な場合、特殊な CPU 命令を利用します。
  • D3DDEVTYPE_SW
    IDirect3D9::RegisterSoftwareDevice で登録済みのプラグ可能なソフトウェア デバイス。
  • D3DDEVTYPE_FORCE_DWORD
    コンパイル時に、この列挙型のサイズを 32 ビットにするために定義されています。この値を指定しない場合、一部のコンパイラでは列挙型を 32 ビット以外のサイズでコンパイル可能です。この定数が使用されることはありません。

解説 

D3DDEVTYPE デバイス タイプを取得する IDirect3D9 インターフェイスのメソッドはすべて、D3DDEVTYPE_NULLREF が指定されると、失敗します。これらのメソッドを使用するには、メソッド呼び出しで D3DDEVTYPE_REF を代わりに指定します。

頂点バッファーおよびインデックス バッファーが不要な場合、D3DDEVTYPE_REF デバイスは D3DPOOL_SCRATCH メモリー内で作成します。頂点バッファーおよびインデックス バッファーをサポートするには、デバイスを D3DPOOL_SYSTEMMEM メモリー内で作成します。

D3dref9.dll がインストールされている場合、Direct3D は、D3DDEVTYPE_NULLREF が指定されていても、リファレンス ラスタライザーを使用して D3DDEVTYPE_REF デバイス タイプを作成します。D3dref9.dll を利用できない場合に D3DDEVTYPE_NULLREF が指定されていると、Direct3D はシーンのレンダリングもプレゼンテーションも実行しません。

要件

ヘッダー: D3D9Types.h 宣言

関連項目

IDirect3D9::CheckDeviceFormat, IDirect3D9::CheckDeviceMultiSampleType, IDirect3D9::CheckDeviceType, IDirect3D9::CreateDevice, IDirect3D9::GetDeviceCaps, D3DDEVICE_CREATION_PARAMETERS