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 |
---|---|
Cria um contexto. |
|
Destrói um contexto. |
|
Cria uma associação entre um identificador de textura e uma superfície. |
|
Destrói todas as superfícies Direct3D criadas anteriormente por D3dCreateSurfaceEx que pertencem ao mesmo objeto DirectDraw local fornecido. |
|
Renderiza primitivos e retorna o estado atualizado para Direct3D. |
|
Retorna informações de estado sobre o driver para runtimes DirectDraw e Direct3D. |
|
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 |
---|---|
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. |
|
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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de