struttura DD_D3DBUFCALLBACKS (ddrawint.h)
La struttura DD_D3DBUFCALLBACKS viene usata solo dai driver che implementano l'allocazione a livello di driver dei buffer dei comandi e dei vertici.
Sintassi
typedef struct _DD_D3DBUFCALLBACKS {
DWORD dwSize;
DWORD dwFlags;
PDD_CANCREATESURFACE CanCreateD3DBuffer;
PDD_CREATESURFACE CreateD3DBuffer;
PDD_SURFCB_DESTROYSURFACE DestroyD3DBuffer;
PDD_SURFCB_LOCK LockD3DBuffer;
PDD_SURFCB_UNLOCK UnlockD3DBuffer;
} DD_D3DBUFCALLBACKS, *PDD_D3DBUFCALLBACKS;
Members
dwSize
Specifica le dimensioni in byte della struttura DD_D3DBUFCALLBACKS.
dwFlags
Riservato.
CanCreateD3DBuffer
Punta al callback CanCreateD3DBuffer del driver.
CreateD3DBuffer
Punta al callback CreateD3DBuffer del driver.
DestroyD3DBuffer
Punta al callback DestroyD3DBuffer del driver.
LockD3DBuffer
Punta al callback LockD3DBuffer del driver.
UnlockD3DBuffer
Punta al callback UnlockD3DBuffer del driver.
Commenti
I driver che gestiscono i propri buffer di comandi e vertici devono compilare una struttura DD_D3DBUFCALLBACKS e puntare il membro lpD3DBufCallbacks di DD_HALINFO .
Il driver deve supportare anche le funzioni di callback segnalate nella struttura DD_D3DBUFCALLBACKS. Questi callback XxxD3DBuffer sono ognuno analogo al callback DdXxxSurface di nome simile; hanno gli stessi prototipi e vengono chiamati con gli stessi parametri di input. Questi nuovi callback vengono chiamati solo quando la superficie in questione ha il flag DDSCAPS_EXECUTEBUFFER impostato nelle estremità di superficie. I flag di creazione del buffer sono DDSCAPS_WRITEONLY, DDSCAPS2_VERTEXBUFFER e DDSCAPS2_COMMANDBUFFER.
Il driver determina il tipo di buffer richiesto controllando il membro ddsCaps della struttura DD_SURFACE_LOCAL passata a CanCreateD3DBuffer e CreateD3DBuffer per i flag seguenti:
-
DDSCAPS_VERTEXBUFFER
Indica che il driver deve allocare un buffer dei vertici esplicito.
-
DDSCAPS_COMMANDBUFFER
Indica che il driver deve allocare un buffer dei comandi.
-
L'assenza di entrambi questi flag
Indica che il driver deve allocare un buffer di vertici implicito.
Requisiti
Intestazione | ddrawint.h (include Winddi.h) |