Condividi tramite


Metodo IDirect3DDevice9::D rawPrimitiveUP (d3d9.h)

Esegue il rendering dei dati specificati da un puntatore alla memoria utente come sequenza di primitive geometriche del tipo specificato.

Sintassi

HRESULT DrawPrimitiveUP(
  [in] D3DPRIMITIVETYPE PrimitiveType,
  [in] UINT             PrimitiveCount,
  [in] const void       *pVertexStreamZeroData,
  [in] UINT             VertexStreamZeroStride
);

Parametri

[in] PrimitiveType

Tipo: D3DPRIMITIVETYPE

Membro del tipo enumerato D3DPRIMITIVETYPE , che descrive il tipo di primitiva da eseguire per il rendering.

[in] PrimitiveCount

Tipo: UINT

Numero di primitive da eseguire per il rendering. Il numero massimo di primitive consentite è determinato controllando il membro MaxPrimitiveCount della struttura D3DCAPS9 .

[in] pVertexStreamZeroData

Tipo: const void*

Puntatore alla memoria utente ai dati del vertice.

[in] VertexStreamZeroStride

Tipo: UINT

Numero di byte di dati per ogni vertice. Questo valore potrebbe non essere 0.

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

Commenti

Questo metodo è destinato all'uso nelle applicazioni che non sono in grado di archiviare i dati dei vertici nei buffer dei vertici. Questo metodo supporta solo un singolo flusso di vertici. L'effetto di questa chiamata consiste nell'usare il puntatore dati del vertice fornito e lo stride per il flusso vertex 0. Non è valido avere la dichiarazione del vertex shader corrente fare riferimento a flussi di vertice diversi dal flusso 0.

Dopo qualsiasi chiamata IDirect3DDevice9::D rawPrimitiveUP , le impostazioni di flusso 0, a cui fa riferimento IDirect3DDevice9::GetStreamSource, sono impostate su NULL.

I dati dei vertici passati a IDirect3DDevice9::D rawPrimitiveUP non devono essere persistenti dopo la chiamata. Direct3D completa l'accesso a tali dati prima di restituire dalla chiamata.

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

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d9.h (includere D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9

IDirect3DDevice9::D rawIndexedPrimitiveUP

Rendering da vertex e buffer di indice (Direct3D 9)