Condividi tramite


Metodo IDirect3DDevice9::D rawIndexedPrimitive (d3d9helper.h)

In base all'indicizzazione, esegue il rendering della primitiva geometrica specificata in una matrice di vertici.

Sintassi

HRESULT DrawIndexedPrimitive(
  [in] D3DPRIMITIVETYPE unnamedParam1,
  [in] INT              BaseVertexIndex,
  [in] UINT             MinVertexIndex,
  [in] UINT             NumVertices,
  [in] UINT             startIndex,
  [in] UINT             primCount
);

Parametri

[in] unnamedParam1

Tipo: D3DPRIMITIVETYPE

Membro del D3DPRIMITIVETYPE tipo enumerato, che descrive il tipo di primitiva da eseguire per il rendering. D3DPT_POINTLIST non è supportato con questo metodo. Vedere la sezione Osservazioni.

[in] BaseVertexIndex

Tipo: INT

Offset dall'inizio del buffer dei vertici al primo vertice. Vedere Scenario 4.

[in] MinVertexIndex

Tipo: UINT

Indice di vertice minimo per i vertici usati durante questa chiamata. Si tratta di un indice in base zero relativo a BaseVertexIndex.

[in] NumVertices

Tipo: UINT

Numero di vertici utilizzati durante questa chiamata. Il primo vertice si trova in corrispondenza dell'indice: BaseVertexIndex + MinIndex.

[in] startIndex

Tipo: UINT

Indice del primo indice da utilizzare per l'accesso al vertex buffer. A partire da StartIndex per indicizzare i vertici dal vertex buffer.

[in] primCount

Tipo: UINT

Numero di primitive di cui eseguire il rendering. Il numero di vertici usati è una funzione del conteggio delle primitive e del tipo primitivo. Il numero massimo di primitive consentite è determinato controllando il membro MaxPrimitiveCount della struttura D3DCAPS9 .

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 il seguente: D3DERR_INVALIDCALL.

Commenti

Questo metodo disegna primitive indicizzate dal set corrente di flussi di input dei dati. MinIndex e tutti gli indici nel flusso di indice sono relativi a BaseVertexIndex.

I parametri MinIndex e NumVertices specificano l'intervallo di indici dei vertici usati per ogni chiamata IDirect3DDevice9::D rawIndexedPrimitive . Questi vengono usati per ottimizzare l'elaborazione dei vertici delle primitive indicizzate elaborando un intervallo sequenziale di vertici prima dell'indicizzazione in questi vertici. Non è valido per gli indici utilizzati durante questa chiamata per fare riferimento a qualsiasi vertice all'esterno di questo intervallo.

IDirect3DDevice9::D rawIndexedPrimitive ha esito negativo se non è impostata alcuna matrice di indici.

Il membro D3DPT_POINTLIST del tipo enumerato D3DPRIMITIVETYPE non è supportato e non è un tipo valido per questo metodo.

Quando si converte un'applicazione legacy in Direct3D 9, è necessario aggiungere una chiamata a IDirect3DDevice9::SetFVF per usare la pipeline di funzioni fisse o IDirect3DDevice9::SetVertexDeclaration per usare un vertex shader prima di effettuare qualsiasi chiamata Draw.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d9helper.h (include D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9

IDirect3DDevice9::D rawPrimitive

Buffer di indice (Direct3D 9)

Rendering da vertex buffer e index buffer (Direct3D 9)

Vertex Buffers (Direct3D 9)