Compartilhar via


estrutura D3DHAL_DP2VERTEXSHADER (d3dhal.h)

Somente o DirectX 8.0 e versões posteriores.

A estrutura D3DHAL_DP2VERTEXSHADER define o sombreador de vértice atual ou exclui um sombreador de vértice, dependendo do opcode recebido (D3DDP2OP_SETVERTEXSHADER ou D3DDP2OP_DELETEVERTEXSHADER) por D3dDrawPrimitives2.

Sintaxe

typedef struct _D3DHAL_DP2VERTEXSHADER {
  DWORD dwHandle;
} D3DHAL_DP2VERTEXSHADER;

Membros

dwHandle

Um identificador para a exibição.

Comentários

Todos os drivers de nível DirectX 8.0 devem dar suporte ao token D3DDP2OP_SETVERTEXSHADER porque ele é enviado mesmo que o driver não dê suporte ao processamento de vértice programável. Nesse caso, no entanto, o identificador de sombreador é sempre um código FVF que indica o processamento de função fixa dos dados de vértice. O driver deve usar o código FVF armazenado no membro dwHandle como o formato dos dados de vértice no fluxo zero. Um driver que dá suporte ao processamento de vértice programável deve examinar o identificador para determinar se ele se refere a um sombreador criado anteriormente com D3DDP2OP_CREATEVERTEXSHADER ou um código FVF e tomar a ação apropriada.

Sombreadores de pixel e vértice são ortogonais. Portanto, se um código FVF herdado for selecionado como o sombreador de vértice atual, isso não implicará o processamento de pixel herdado. Para redefinir o processamento de pixels para um modo subprogramável, o sombreador de pixel atual também deve ser definido como zero. O cuidado deve ser tomado no driver para redefinir apenas o estado de processamento de vértice para um modo de função fixo e não para o estado de processamento de pixels quando o sombreador de vértice é definido como um código FVF.

Ao alternar do processamento de vértice de função fixa para o processamento de vértice programável, os valores do estado de renderização herdado e das matrizes devem ser preservados. Se e quando ocorrer uma opção de processamento de vértice de função programável para fixa (o driver recebe um D3DDP2OP_SETVERTEXSHADER com um FVF como o identificador de sombreador), esse estado preservado deve ser restaurado.

Ao alternar entre sombreadores programáveis, qualquer registro constante que tenha um valor especificado na definição desse sombreador deve ser definido como esse valor. Os valores de todos os outros registros constantes devem permanecer inalterados.

Para operações de D3DDP2OP_SETVERTEXSHADERDECL, o runtime especifica um código FVF herdado ou um identificador de declaração do DirectX 9.0 no membro dwHandle . O runtime indica um identificador de declaração do DirectX 9.0 definindo o bit 0 do identificador. Para operações de D3DDP2OP_SETVERTEXSHADERFUNC, o runtime define dwHandle como zero para indicar um pipeline de função fixa.

Requisitos

Requisito Valor
Cabeçalho d3dhal.h (inclua D3dhal.h)

Confira também

D3DDP2OP_CREATEVERTEXSHADER

D3DDP2OP_DELETEVERTEXSHADER

D3DDP2OP_DELETEVERTEXSHADERDECL

D3DDP2OP_DELETEVERTEXSHADERFUNC

D3DDP2OP_SETSTREAMSOURCE

D3DDP2OP_SETSTREAMSOURCEUM

D3DDP2OP_SETVERTEXSHADER

D3DDP2OP_SETVERTEXSHADERDECL

D3DDP2OP_SETVERTEXSHADERFUNC

D3DHAL_DP2CREATEVERTEXSHADER

D3DHAL_DP2SETVERTEXSHADERCONST

D3dDrawPrimitives2