D3DINDEXBUFFER_DESC 構造体

D3DINDEXBUFFER_DESC 構造体

インデックス バッファを記述する。

構文

typedef struct _D3DINDEXBUFFER_DESC {
    D3DFORMAT Format;
    D3DRESOURCETYPE Type;
    DWORD Usage;
    D3DPOOL Pool;
    UINT Size;
} D3DINDEXBUFFER_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 は、管理下のインデックス バッファでは指定できないので注意すること。詳細については、「リソースの管理」を参照すること。

    • D3DUSAGE_RTPATCHES
      高次プリミティブの描画にインデックス バッファを使用するとき設定する。

    • D3DUSAGE_NPATCHES
      N パッチの描画にインデックス バッファを使用するとき設定する。

    • D3DUSAGE_POINTS
      ポイント スプライトまたはインデックス付きポイント リストの描画に、インデックス バッファを使用するとき設定する。

    • D3DUSAGE_SOFTWAREPROCESSING
      バッファがソフトウェア処理で使用されることを示す。

    • D3DUSAGE_WRITEONLY
      インデックス バッファへの書き込み操作しか実行できないことをシステムに通知する。このフラグを使用することにより、ドライバは最適なメモリ領域を選択して効率的に書き込み操作やレンダリングを実行する。この能力を使用して作成されたインデックス バッファからの読み込みを試みると、パフォーマンスが低下する場合がある。

  • Pool
    D3DPOOL 列挙型のメンバ。 このインデックス バッファに割り当てられているメモリのクラスを指定する。

  • Size
    インデックス バッファのサイズ (バイト単位)。

構造体の情報

ヘッダー d3d9types.h
最低限のオペレーティング システム Windows 98

参照

IDirect3DIndexBuffer9::GetDesc