Compartir a través de


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

Aplica el procesamiento de vértices definido por el sombreador de vértices al conjunto de flujos de datos de entrada, lo que genera una única secuencia de datos de vértices intercalados en el búfer de vértices de destino.

Sintaxis

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 del primer vértice que se va a cargar.

[in] DestIndex

Tipo: UINT

Índice del primer vértice del búfer de vértices de destino en el que se colocan los resultados.

[in] VertexCount

Tipo: UINT

Número de vértices que se van a procesar.

[in] pDestBuffer

Tipo: IDirect3DVertexBuffer9*

Puntero a una interfaz IDirect3DVertexBuffer9 , el búfer de vértices de destino que representa la secuencia de datos de vértices intercalados.

[in] pVertexDecl

Tipo: IDirect3DVertexDeclaration9*

Puntero a una interfaz IDirect3DVertexDeclaration9 que representa la declaración de datos de vértice de salida. Cuando el sombreador de vértices 3.0 o superior se establece como sombreador de vértices actual, la declaración del vértice de salida debe estar presente.

[in] Flags

Tipo: DWORD

Opciones de procesamiento. Establezca este parámetro en 0 para el procesamiento predeterminado. Establézcalo en D3DPV_DONOTCOPYDATA para evitar que el sistema copie datos de vértices no afectados por la operación de vértice en el búfer de destino. El valor de D3DPV_DONOTCOPYDATA se puede combinar con uno o varios valores D3DLOCK adecuados para el búfer de destino.

Valor devuelto

Tipo: HRESULT

Si el método se ejecuta correctamente, el valor devuelto es D3D_OK. Si se produce un error en el método, el valor devuelto se puede D3DERR_INVALIDCALL.

Comentarios

El orden de las operaciones para este método es el siguiente:

  • Transforme vértices en el espacio de proyección mediante la matriz de proyección world + view + projection.
  • Coordenadas de pantalla de proceso mediante la configuración de la ventanilla.
  • Si el recorte está habilitado, calcule los códigos de recorte y almacénelos en un búfer interno, asociado al búfer de vértices de destino. Si un vértice está dentro del frustum de visualización, se calculan sus coordenadas de pantalla. Si el vértice está fuera del frustum de visualización, el vértice se almacena en el búfer de vértices de destino en coordenadas del espacio de proyección.
  • Otras notas: El usuario no tiene acceso al búfer de código de clip interno. No se realiza ningún recorte en triángulos ni en ningún otro primitivo.
El búfer de vértices de destino, pDestBuffer, debe crearse con un parámetro FVF distinto de cero en IDirect3DDevice9::CreateVertexBuffer. El código FVF especificado durante la llamada al método IDirect3DDevice9::CreateVertexBuffer especifica los elementos de vértice presentes en el búfer de vértices de destino.

Cuando Direct3D genera coordenadas de textura, o copia o transforma coordenadas de textura de entrada, y el formato de coordenadas de textura de salida define más componentes de coordenadas de textura que genera Direct3D, Direct3D no cambia estos componentes adicionales.

Requisitos

   
Plataforma de destino Windows
Encabezado d3d9.h (incluya D3D9.h)
Library D3D9.lib

Consulte también

Tipos de dispositivo y requisitos de procesamiento de vértices (Direct3D 9)

Procesamiento fijo de vértices de función (Direct3D 9)

IDirect3DDevice9