Metodo IDirect3DDevice9::CreateIndexBuffer (d3d9.h)
Crea un buffer di indice.
Sintassi
HRESULT CreateIndexBuffer(
[in] UINT Length,
[in] DWORD Usage,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DIndexBuffer9 **ppIndexBuffer,
[in] HANDLE *pSharedHandle
);
Parametri
[in] Length
Tipo: UINT
Dimensioni del buffer di indice, in byte.
[in] Usage
Tipo: DWORD
L'utilizzo può essere 0, che indica nessun valore di utilizzo. Tuttavia, se si desidera usare una combinazione di una o più costanti D3DUSAGE . È consigliabile corrispondere al parametro di utilizzo in CreateIndexBuffer con i flag di comportamento in IDirect3D9::CreateDevice. Per altre informazioni, vedere la sezione Osservazioni.
[in] Format
Tipo: D3DFORMAT
Membro del tipo enumerato D3DFORMAT , che descrive il formato del buffer di indice. Per altre informazioni, vedere la sezione Osservazioni. Le impostazioni valide sono le seguenti:
Elemento | Descrizione |
---|---|
D3DFMT_INDEX16 | Gli indici sono 16 bit ciascuno. |
D3DFMT_INDEX32 | Gli indici sono 32 bit ciascuno. |
[in] Pool
Tipo: D3DPOOL
Membro del tipo enumerato D3DPOOL , che descrive una classe di memoria valida in cui inserire la risorsa.
[out, retval] ppIndexBuffer
Tipo: IDirect3DIndexBuffer9**
Indirizzo di un puntatore a un'interfaccia IDirect3DIndexBuffer9 che rappresenta la risorsa buffer di indice creata.
[in] pSharedHandle
Tipo: HANDLE*
Questo parametro può essere usato in Direct3D 9 per Windows Vista per condividere le risorse; impostarlo su NULL per non condividere una risorsa. Questo parametro non viene usato in Direct3D 9 per i sistemi operativi precedenti a Windows Vista; impostarlo su NULL.
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito è D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Commenti
I buffer di indice sono risorse di memoria usate per contenere indici, sono simili sia alle superfici che ai buffer dei vertici. L'uso dei buffer di indice consente a Direct3D di evitare la copia dei dati non necessari e di posizionare il buffer nel tipo di memoria ottimale per l'utilizzo previsto.
Per usare i buffer di indice, creare un buffer di indice, bloccarlo, riempirlo con indici, sbloccarlo, passarlo a IDirect3DDevice9::SetIndices, configurare i vertici, configurare il vertex shader e chiamare IDirect3DDevice9::D rawIndexedPrimitive per il rendering.
Il membro MaxVertexIndex della struttura D3DCAPS9 indica i tipi di buffer di indice validi per il rendering.
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | d3d9.h (includere D3D9.h) |
Libreria | D3D9.lib |