Compartilhar via


Funções de driver para dar suporte ao Direct3D

Um driver que dá suporte ao Direct3D fornece funções de retorno de chamada direct3D e funções DDI DirectDraw. Os retornos de chamada DDI do Direct3D são protótipos da seguinte maneira:

typedef DWORD (APIENTRY *LPD3DHAL_MYFUNCTIONCB) (LPD3DHAL_MYFUNCTIONDATA);

Na sintaxe anterior:

  • LPD3DHAL_MYFUNCTIONCB aponta para um retorno de chamada implementado pelo driver que pode ser chamado de MyFunction. Todos os nomes de retorno de chamada são pseudodinomes decididos pelo gravador do driver de exibição.

  • LPD3DHAL_MYFUNCTIONDATA é um ponteiro para uma estrutura D3DHAL_MYFUNCTIONDATA que está sendo passada para o retorno de chamada. As estruturas de parâmetro de retorno de chamada são caracterizadas da seguinte maneira:

    • O primeiro membro de cada estrutura, dwhContext, é o identificador de contexto que descreve o contexto 3D no qual o retorno de chamada deve operar. A única exceção a essa regra é a estrutura D3DHAL_CONTEXTCREATEDATA.
    • O último membro de cada estrutura é ddrval. Esse membro é usado para passar o valor retornado do retorno de chamada de volta para Direct3D para que ele possa ser retornado ao aplicativo de chamada.

Para determinar como inicializar as funções de retorno de chamada do Direct3D, consulte Inicialização do Driver Direct3D.

A tabela a seguir lista as funções de retorno de chamada do Direct3D implementadas em um driver Direct3D. Todas as funções de retorno de chamada são necessárias, exceto para D3dValidateTextureStageState, que é opcional dependendo dos recursos de hardware.

Função Descrição

D3dContextCreate

Cria um contexto.

D3dContextDestroy

Destrói um contexto.

D3dCreateSurfaceEx

Cria uma associação entre um identificador de textura e uma superfície.

D3dDestroyDDLocal

Destrói todas as superfícies Direct3D criadas anteriormente por D3dCreateSurfaceEx que pertencem ao mesmo objeto DirectDraw local fornecido.

D3dDrawPrimitives2

Renderiza primitivos e retorna o estado atualizado para Direct3D.

D3dGetDriverState

Retorna informações de estado sobre o driver para runtimes DirectDraw e Direct3D.

D3dValidateTextureStageState

Executa a validação do estado do estágio de textura, que é necessária para todos os drivers que dão suporte à texturização.

Para dar suporte ao Direct3D, um driver deve dar suporte mínimo ao Microsoft DirectDraw e também deve implementar determinadas funções DDI do DirectDraw. As funções pertinentes ao suporte do Direct3D estão listadas na tabela a seguir.

Função Descrição

DrvGetDirectDrawInfo

Essa função recupera os recursos do hardware gráfico. Nessa função de inicialização, o driver indica que ele dá suporte ao Direct3D.

DdGetDriverInfo

O runtime consulta essa função de retorno de chamada com GUIDs para obter informações adicionais sobre o driver. Vários GUIDs pertencem especificamente ao suporte direct3D do driver.

A função DirectDraw e os detalhes da implementação de retorno de chamada são discutidos no DirectDraw.