Condividi tramite


Metodo IDirect3DDevice9::P rocessVertices (d3d9.h)

Applica l'elaborazione del vertice definita dal vertex shader al set di flussi di dati di input, generando un singolo flusso di dati dei vertici interleaved al buffer del vertice di destinazione.

Sintassi

HRESULT ProcessVertices(
  [in] UINT                        SrcStartIndex,
  [in] UINT                        DestIndex,
  [in] UINT                        VertexCount,
  [in] IDirect3DVertexBuffer9      *pDestBuffer,
  [in] IDirect3DVertexDeclaration9 *pVertexDecl,
  [in] DWORD                       Flags
);

Parametri

[in] SrcStartIndex

Tipo: UINT

Indice del primo vertice da caricare.

[in] DestIndex

Tipo: UINT

Indice del primo vertice nel buffer del vertice di destinazione in cui vengono inseriti i risultati.

[in] VertexCount

Tipo: UINT

Numero di vertici da elaborare.

[in] pDestBuffer

Tipo: IDirect3DVertexBuffer9*

Puntatore a un'interfaccia IDirect3DVertexBuffer9 , il buffer del vertice di destinazione che rappresenta il flusso di dati dei vertici interleaved.

[in] pVertexDecl

Tipo: IDirect3DVertexDeclaration9*

Puntatore a un'interfaccia IDirect3DVertexDeclaration9 che rappresenta la dichiarazione dei dati del vertice di output. Quando vertex shader 3.0 o versioni successive è impostato come vertex shader corrente, la dichiarazione del vertice di output deve essere presente.

[in] Flags

Tipo: DWORD

Opzioni di elaborazione. Impostare questo parametro su 0 per l'elaborazione predefinita. Impostare su D3DPV_DONOTCOPYDATA per impedire al sistema di copiare i dati dei vertici non interessati dall'operazione del vertice nel buffer di destinazione. Il valore D3DPV_DONOTCOPYDATA può essere combinato con uno o più valori D3DLOCK appropriati per il buffer di destinazione.

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

L'ordine delle operazioni per questo metodo è il seguente:

  • Trasformare i vertici nello spazio di proiezione usando la matrice di proiezione world + view + projection.
  • Coordinate dello schermo di calcolo usando le impostazioni del riquadro di visualizzazione.
  • Se il ritaglio è abilitato, calcolare i codici di clipping e archiviarli in un buffer interno, associato al buffer del vertice di destinazione. Se un vertice si trova all'interno del frustum di visualizzazione, vengono calcolate le coordinate dello schermo. Se il vertice si trova all'esterno del frustum di visualizzazione, il vertice viene archiviato nel buffer del vertice di destinazione nelle coordinate dello spazio di proiezione.
  • Altre note: l'utente non ha accesso al buffer del codice clip interno. Nessun ritaglio viene eseguito su triangoli o su qualsiasi altra primitiva.
Il buffer del vertice di destinazione, pDestBuffer, deve essere creato con un parametro FVF diverso da zero in IDirect3DDevice9::CreateVertexBuffer. Il codice FVF specificato durante la chiamata al metodo IDirect3DDevice9::CreateVertexBuffer specifica gli elementi del vertice presenti nel buffer del vertice di destinazione.

Quando Direct3D genera coordinate di trama o copia o trasforma le coordinate della trama di input e il formato della coordinata della trama di output definisce più componenti delle coordinate della trama rispetto a Direct3D genera, Direct3D non modifica questi componenti aggiuntivi.

Requisiti

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

Vedi anche

Requisiti di elaborazione dei dispositivi e dei vertici (Direct3D 9)

Elaborazione del vertice della funzione fissa (Direct3D 9)

IDirect3DDevice9