Método IDirect3DDevice9::P rocessVertices (d3d9helper.h)

Aplica o processamento de vértice definido pelo sombreador de vértice ao conjunto de fluxos de dados de entrada, gerando um único fluxo de dados de vértice intercalados para o buffer de vértice de destino.

Sintaxe

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

Parâmetros

[in] SrcStartIndex

Tipo: UINT

Índice do primeiro vértice a ser carregado.

[in] DestIndex

Tipo: UINT

Índice do primeiro vértice no buffer de vértice de destino no qual os resultados são colocados.

[in] VertexCount

Tipo: UINT

Número de vértices a serem processados.

[in] pDestBuffer

Tipo: IDirect3DVertexBuffer9*

Ponteiro para uma interface IDirect3DVertexBuffer9 , o buffer de vértice de destino que representa o fluxo de dados de vértice intercalados.

[in] pVertexDecl

Tipo: IDirect3DVertexDeclaration9*

Ponteiro para uma interface IDirect3DVertexDeclaration9 que representa a declaração de dados de vértice de saída. Quando o sombreador de vértice 3.0 ou superior é definido como o sombreador de vértice atual, a declaração de vértice de saída deve estar presente.

[in] Flags

Tipo: DWORD

Opções de processamento. Defina esse parâmetro como 0 para processamento padrão. Defina como D3DPV_DONOTCOPYDATA para impedir que o sistema copie dados de vértice não afetados pela operação de vértice no buffer de destino. O valor D3DPV_DONOTCOPYDATA pode ser combinado com um ou mais valores D3DLOCK apropriados para o buffer de destino.

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

Comentários

A ordem das operações para esse método é a seguinte:

  • Transforme vértices em espaço de projeção usando o mundo + exibição + matriz de projeção.
  • Coordenadas de tela de computação usando as configurações do visor.
  • Se o recorte estiver habilitado, compute códigos de recorte e armazene-os em um buffer interno, associado ao buffer de vértice de destino. Se um vértice estiver dentro do frusto de exibição, suas coordenadas de tela serão computadas. Se o vértice estiver fora do frusto de exibição, o vértice será armazenado no buffer de vértice de destino nas coordenadas de espaço de projeção.
  • Outras observações: o usuário não tem acesso ao buffer de código de clipe interno. Nenhum recorte é feito em triângulos ou em outros primitivos.
O buffer de vértice de destino, pDestBuffer, deve ser criado com um parâmetro FVF diferente de zero em IDirect3DDevice9::CreateVertexBuffer. O código FVF especificado durante a chamada para o método IDirect3DDevice9::CreateVertexBuffer especifica os elementos de vértice presentes no buffer de vértice de destino.

Quando o Direct3D gera coordenadas de textura ou copia ou transforma coordenadas de textura de entrada, e o formato de coordenada de textura de saída define mais componentes de coordenadas de textura do que o Direct3D gera, o Direct3D não altera esses componentes extras.

Requisitos

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

Confira também

Tipos de dispositivo e requisitos de processamento de vértice (Direct3D 9)

Correção do processamento de vértice de função (Direct3D 9)

IDirect3DDevice9