Condividi tramite


Metodo IDirect3DDevice9::CreateIndexBuffer (d3d9helper.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 , usare una combinazione di una o più costanti D3DUSAGE . È consigliabile associare il parametro di utilizzo in CreateIndexBuffer ai 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 a 16 bit ciascuno.
D3DFMT_INDEX32 Gli indici sono a 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; impostarla su NULL.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito viene 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 vertex buffer. L'uso dei buffer di indice consente a Direct3D di evitare la copia dei dati non necessaria e di inserire 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 d3d9helper.h (include D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9

IDirect3DIndexBuffer9::GetDesc

Buffer di indice (Direct3D 9)