Método IDirect3DDevice9::P rocessVertices (d3d9.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.
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 | d3d9.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |
Confira também
Tipos de dispositivo e requisitos de processamento de vértice (Direct3D 9)