D3DINDEXBUFFER_DESC

インデックス バッファーを記述します。

typedef struct D3DINDEXBUFFER_DESC {
    D3DFORMAT Format;
    D3DRESOURCETYPE Type;
    DWORD Usage;
    D3DPOOL Pool;
    UINT Size;
} D3DINDEXBUFFER_DESC, *LPD3DINDEXBUFFER_DESC;

メンバ

  • Format
    D3DFORMAT 列挙型のメンバーです。インデックス バッファー データのサーフェス フォーマットを記述します。
  • Type
    D3DRESOURCETYPE 列挙型のメンバーです。このリソースをインデックス バッファーとして識別します。
  • Usage
    以下のフラグの 1 つまたは複数の組み合わせであり、このリソースの使用方法を指定します。
    • D3DUSAGE_DONOTCLIP
      インデックス バッファーの内容にクリッピングが不要なことを示す場合に設定します。

    • D3DUSAGE_DYNAMIC
      インデックス バッファーに動的メモリーの使用が必要なことを示す場合に設定します。これは、インデックス バッファーの配置先を決定する際に利用できるので、ドライバーに有効です。一般に、静的なインデックス バッファーはビデオ メモリー、動的なインデックス バッファーは AGP メモリーに配置されます。静的なインデックス バッファーの使用方法は他になく、D3DUSAGE_DYNAMIC を指定しないと、インデックス バッファーは静的なインデックス バッファーになります。D3DUSAGE_DYNAMIC は、ロッキング フラグ D3DLOCK_DISCARD および D3DLOCK_NOOVERWRITE を使用して厳密に適用されます。そのため、D3DLOCK_DISCARD および D3DLOCK_NOOVERWRITE は、D3DUSAGE_DYNAMIC を使用して作成されたインデックス バッファー上でのみ有効であり、静的な頂点バッファー上で有効なフラグではありません。

      動的なインデックス バッファーの使用方法の詳細については、「動的な頂点バッファーおよびインデックス バッファーの使用」を参照してください。

      管理されたインデックス バッファーに対して D3DUSAGE_DYNAMIC を指定することはできません。詳細については、「リソースの管理 (Direct3D 9)」を参照してください。

    • D3DUSAGE_RTPATCHES
      高次プリミティブの描画にインデックス バッファーが使用される時期を示す場合に設定します。

    • D3DUSAGE_NPATCHES
      N パッチの描画にインデックス バッファーが使用される時期を示す場合に設定します。

    • D3DUSAGE_POINTS
      ポイント スプライトまたはインデックス付きポイント リストの描画にインデックス バッファーが使用される時期を示す場合に設定します。

    • D3DUSAGE_SOFTWAREPROCESSING
      インデックス バッファーがソフトウェア処理で使用されることを示す場合に設定します。

    • D3DUSAGE_WRITEONLY
      アプリケーションがインデックス バッファーに対して書き込みだけを実行することを、システムに通知します。このフラグを使用することにより、ドライバーは書き込み処理およびレンダリングに最も効率がよいメモリー位置を選択できます。この能力を使用して作成されたインデックス バッファーからの読み取りを実行しようとすると、パフォーマンスが低下する場合があります。

  • Pool
    D3DPOOL 列挙型のメンバーです。このインデックス バッファーに割り当てられたメモリーのクラスを指定します。
  • Size
    インデックス バッファーのサイズ (バイト単位) です。

要件

ヘッダー: D3D9Types.h 宣言

関連項目

IDirect3DIndexBuffer9::GetDesc, インデックス バッファー (Direct3D 9)