D3DHAL_DP2VERTEXSHADER estructura (d3dhal.h)

Solo DirectX 8.0 y versiones posteriores.

La D3DHAL_DP2VERTEXSHADER establece el sombreador de vértices actual o elimina un sombreador de vértices, en función del código de operación recibido (D3DDP2OP_SETVERTEXSHADER o D3DDP2OP_DELETEVERTEXSHADER) por D3dDrawPrimitives2.

Sintaxis

typedef struct _D3DHAL_DP2VERTEXSHADER {
  DWORD dwHandle;
} D3DHAL_DP2VERTEXSHADER;

Miembros

dwHandle

Identificador de la pantalla.

Observaciones

Todos los controladores de nivel de DirectX 8.0 deben admitir el token D3DDP2OP_SETVERTEXSHADER porque se envía incluso si el controlador no admite el procesamiento de vértices programables. En ese caso, sin embargo, el identificador del sombreador siempre es un código FVF que indica el procesamiento de funciones fijas de los datos del vértice. El controlador debe usar el código FVF almacenado en el miembro dwHandle como formato de los datos de vértice en el flujo cero. Un controlador que admita el procesamiento de vértices programables debe examinar el identificador para determinar si hace referencia a un sombreador creado previamente con D3DDP2OP_CREATEVERTEXSHADER o un código FVF y realizar la acción adecuada.

Los sombreadores de píxeles y vértices son ortogonales. Por lo tanto, si se selecciona un código FVF heredado como sombreador de vértices actual, esto no implica el procesamiento de píxeles heredado. Para restablecer el procesamiento de píxeles a un modo subprogramable, el sombreador de píxeles actual también debe establecerse en cero. Se debe tener cuidado en el controlador para restablecer solo el estado de procesamiento de vértices a un modo de función fija y no el estado de procesamiento de píxeles cuando el sombreador de vértices está establecido en un código FVF.

Al cambiar del procesamiento de vértices de función fija al procesamiento de vértices programables, se deben conservar los valores del estado de representación heredado y las matrices. Si y cuando se produce un cambio del procesamiento de vértices de función programable a fijo (el controlador recibe un D3DDP2OP_SETVERTEXSHADER con una FVF como identificador del sombreador), se debe restaurar ese estado conservado.

Al cambiar entre sombreadores programables, cualquier registro constante que tenga un valor especificado en la definición de ese sombreador debe establecerse en ese valor. Los valores de todos los demás registros constantes deben permanecer sin cambios.

Para D3DDP2OP_SETVERTEXSHADERDECL, el tiempo de ejecución especifica un código FVF heredado o un identificador de declaración de DirectX 9.0 en el miembro dwHandle . El tiempo de ejecución indica un identificador de declaración de DirectX 9.0 estableciendo el bit 0 del identificador. Para D3DDP2OP_SETVERTEXSHADERFUNC, el tiempo de ejecución establece dwHandle en cero para indicar una canalización de función fija.

Requisitos

   
Encabezado d3dhal.h (incluir D3dhal.h)

Vea también

D3DDP2OP_CREATEVERTEXSHADER

D3DDP2OP_DELETEVERTEXSHADER

D3DDP2OP_DELETEVERTEXSHADERDECL

D3DDP2OP_DELETEVERTEXSHADERFUNC

D3DDP2OP_SETSTREAMSOURCE

D3DDP2OP_SETSTREAMSOURCEUM

D3DDP2OP_SETVERTEXSHADER

D3DDP2OP_SETVERTEXSHADERDECL

D3DDP2OP_SETVERTEXSHADERFUNC

D3DHAL_DP2CREATEVERTEXSHADER

D3DHAL_DP2SETVERTEXSHADERCONST

D3dDrawPrimitives2