Funzioni driver per supportare Direct3D
Un driver che supporta Direct3D fornisce sia funzioni di callback Direct3D che funzioni DDI DirectDraw. I callback DDI Direct3D vengono prototipi come indicato di seguito:
typedef DWORD (APIENTRY *LPD3DHAL_MYFUNCTIONCB) (LPD3DHAL_MYFUNCTIONDATA);
Nella sintassi precedente:
LPD3DHAL_MYFUNCTIONCB punta a un callback implementato dal driver che può essere chiamato MyFunction. Tutti i nomi di callback sono pseudonome scelti dal writer del driver di visualizzazione.
LPD3DHAL_MYFUNCTIONDATA è un puntatore a una struttura D3DHAL_MYFUNCTIONDATA passata al callback. Le strutture dei parametri di callback sono caratterizzate come segue:
- Il primo membro di ogni struttura, dwhContext, è l'handle di contesto che descrive il contesto 3D in cui deve funzionare il callback. L'unica eccezione a questa regola è la struttura D3DHAL_CONTEXTCREATEDATA.
- L'ultimo membro di ogni struttura è ddrval. Questo membro viene usato per passare il valore restituito del callback a Direct3D in modo che possa essere restituito all'applicazione chiamante.
Per determinare come inizializzare le funzioni di callback Direct3D, vedere Inizializzazione del driver Direct3D.
La tabella seguente elenca le funzioni di callback Direct3D implementate in un driver Direct3D. Tutte le funzioni di callback sono necessarie, ad eccezione di D3dValidateTextureStageState, che è facoltativo a seconda delle funzionalità hardware.
Funzione | Descrizione |
---|---|
Crea un contesto. |
|
Elimina definitivamente un contesto. |
|
Crea un'associazione tra un handle di trama e una superficie. |
|
Elimina tutte le superfici Direct3D create in precedenza da D3dCreateSurfaceEx che appartengono allo stesso oggetto DirectDraw locale specificato. |
|
Esegue il rendering delle primitive e restituisce lo stato aggiornato a Direct3D. |
|
Restituisce informazioni sullo stato sul driver ai runtime DirectDraw e Direct3D. |
|
Esegue la convalida dello stato della fase della trama, necessaria per tutti i driver che supportano la texturing. |
Per supportare Direct3D, un driver deve supportare minimamente Microsoft DirectDraw e deve implementare anche determinate funzioni DDI DirectDraw. Le funzioni pertinenti al supporto Direct3D sono elencate nella tabella seguente.
Funzione | Descrizione |
---|---|
Questa funzione recupera le funzionalità dell'hardware grafico. In questa funzione di inizializzazione il driver indica che supporta Direct3D. |
|
Il runtime esegue una query su questa funzione di callback con GUID per altre informazioni sul driver. Diversi GUID riguardano in modo specifico il supporto Direct3D del driver. |
I dettagli di implementazione della funzione DirectDraw e del callback sono descritti in DirectDraw.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per