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 宣言