Método IDirect3DDevice9::CreateIndexBuffer (d3d9helper.h)

Cria um buffer de índice.

Sintaxe

HRESULT CreateIndexBuffer(
  [in]          UINT                  Length,
  [in]          DWORD                 Usage,
  [in]          D3DFORMAT             Format,
  [in]          D3DPOOL               Pool,
  [out, retval] IDirect3DIndexBuffer9 **ppIndexBuffer,
  [in]          HANDLE                *pSharedHandle
);

Parâmetros

[in] Length

Tipo: UINT

Tamanho do buffer de índice, em bytes.

[in] Usage

Tipo: DWORD

O uso pode ser 0, o que indica nenhum valor de uso. No entanto, se o uso for desejado, use uma combinação de uma ou mais constantes D3DUSAGE . É uma boa prática corresponder o parâmetro de uso em CreateIndexBuffer com os sinalizadores de comportamento em IDirect3D9::CreateDevice. Para obter mais informações, consulte Comentários.

[in] Format

Tipo: D3DFORMAT

Membro do tipo enumerado D3DFORMAT , descrevendo o formato do buffer de índice. Para obter mais informações, consulte Comentários. As configurações válidas são as seguintes:

Item Descrição
D3DFMT_INDEX16 Os índices são de 16 bits cada.
D3DFMT_INDEX32 Os índices são de 32 bits cada.

[in] Pool

Tipo: D3DPOOL

Membro do tipo enumerado D3DPOOL , descrevendo uma classe de memória válida na qual colocar o recurso.

[out, retval] ppIndexBuffer

Tipo: IDirect3DIndexBuffer9**

Endereço de um ponteiro para uma interface IDirect3DIndexBuffer9 , representando o recurso de buffer de índice criado.

[in] pSharedHandle

Tipo: HANDLE*

Esse parâmetro pode ser usado no Direct3D 9 para o Windows Vista compartilhar recursos; defina-o como NULL para não compartilhar um recurso. Esse parâmetro não é usado no Direct3D 9 para sistemas operacionais anteriores ao Windows Vista; defina-o como NULL.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, D3DXERR_INVALIDDATA E_OUTOFMEMORY.

Comentários

Buffers de índice são recursos de memória usados para conter índices, eles são semelhantes a superfícies e buffers de vértice. O uso de buffers de índice permite que o Direct3D evite a cópia desnecessária de dados e coloque o buffer no tipo de memória ideal para o uso esperado.

Para usar buffers de índice, crie um buffer de índice, bloqueie-o, preencha-o com índices, desbloqueie-o, passe-o para IDirect3DDevice9::SetIndices, configure os vértices, configure o sombreador de vértice e chame IDirect3DDevice9::D rawIndexedPrimitive para renderização.

O membro MaxVertexIndex da estrutura D3DCAPS9 indica os tipos de buffers de índice válidos para renderização.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho d3d9helper.h (inclua D3D9.h)
Biblioteca D3D9.lib

Confira também

IDirect3DDevice9

IDirect3DIndexBuffer9::GetDesc

Buffers de índice (Direct3D 9)