IDirect3DDevice9::CreateIndexBuffer 方法 (d3d9helper.h)
建立索引緩衝區。
語法
HRESULT CreateIndexBuffer(
[in] UINT Length,
[in] DWORD Usage,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DIndexBuffer9 **ppIndexBuffer,
[in] HANDLE *pSharedHandle
);
參數
[in] Length
類型: UINT
索引緩衝區的大小,以位元組為單位。
[in] Usage
類型: DWORD
使用方式可以是 0,表示沒有使用值。 不過,如果需要使用方式,請使用一或多個 D3DUSAGE 常數的組合。 最好將 CreateIndexBuffer 中的 usage 參數與 IDirect3D9::CreateDevice中的行為旗標相符。 如需詳細資訊,請參閱<備註>。
[in] Format
類型: D3DFORMAT
D3DFORMAT列舉型別的成員,描述索引緩衝區的格式。 如需詳細資訊,請參閱<備註>。 有效的設定如下:
項目 | 描述 |
---|---|
D3DFMT_INDEX16 | 每個索引都是 16 位。 |
D3DFMT_INDEX32 | 每個索引都是 32 位。 |
[in] Pool
類型: D3DPOOL
D3DPOOL列舉型別的成員,描述要放置資源的有效記憶體類別。
[out, retval] ppIndexBuffer
類型: IDirect3DIndexBuffer9**
代表所建立索引緩衝區資源的 IDirect3DIndexBuffer9 介面指標位址。
[in] pSharedHandle
類型: HANDLE*
此參數可用於 Direct3D 9,讓 Windows Vista 共用資源;將它設定為 Null ,以不共用資源。 此參數不適用於 Windows Vista 之前的作業系統 Direct3D 9;將它設定為 Null。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、D3DXERR_INVALIDDATA E_OUTOFMEMORY。
備註
索引緩衝區是用來保存索引的記憶體資源,其類似于表面和頂點緩衝區。 使用索引緩衝區可讓 Direct3D 避免不必要的資料複製,並將緩衝區放在預期使用量的最佳記憶體類型中。
若要使用索引緩衝區,請建立索引緩衝區、將其鎖定、填入索引、解除鎖定、將它傳遞至 IDirect3DDevice9::SetIndices、設定頂點、設定頂點著色器,以及呼叫 IDirect3DDevice9::D rawIndexedPrimitive 以進行轉譯。
D3DCAPS9結構的 MaxVertexIndex 成員表示有效轉譯的索引緩衝區類型。
需求
目標平台 | Windows |
標頭 | d3d9helper.h (包含 D3D9.h) |
程式庫 | D3D9.lib |