estructura D3DHAL_DP2VERTEXSHADER (d3dhal.h)
DirectX 8.0 y versiones posteriores solo.
La estructura D3DHAL_DP2VERTEXSHADER establece el sombreador de vértices actual o elimina un sombreador de vértices, según el 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.
Comentarios
Todos los controladores de nivel de DirectX 8.0 deben admitir el token de D3DDP2OP_SETVERTEXSHADER porque se envía incluso si el controlador no admite el procesamiento de vértices programables. Sin embargo, en ese caso, el controlador de sombreador siempre es un código FVF que indica el procesamiento fijo de funciones de los datos de vértices. El controlador debe usar el código FVF almacenado en el miembro dwHandle como formato de los datos de vértices en la secuencia 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 de FVF heredado como sombreador de vértices actual, esto no implica el procesamiento de píxeles heredado. Para restablecer el procesamiento de píxeles en 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 fijo y no al 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 un FVF como controlador de 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 las operaciones de D3DDP2OP_SETVERTEXSHADERDECL, el runtime especifica un código de FVF heredado o un identificador de declaración 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 operaciones, el tiempo de ejecución establece dwHandle en cero para indicar una canalización de función fija.
Requisitos
Requisito | Valor |
---|---|
Header | d3dhal.h (incluya D3dhal.h) |
Consulte también
D3DDP2OP_CREATEVERTEXSHADER
D3DDP2OP_DELETEVERTEXSHADER
D3DDP2OP_DELETEVERTEXSHADERDECL
D3DDP2OP_DELETEVERTEXSHADERFUNC
D3DDP2OP_SETSTREAMSOURCE
D3DDP2OP_SETSTREAMSOURCEUM
D3DDP2OP_SETVERTEXSHADER
D3DDP2OP_SETVERTEXSHADERDECL
D3DDP2OP_SETVERTEXSHADERFUNC