estrutura DD_D3DBUFCALLBACKS (ddrawint.h)
A estrutura DD_D3DBUFCALLBACKS é usada apenas por drivers que implementam a alocação no nível do driver de buffers de comando e vértice.
Sintaxe
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;
Membros
dwSize
Especifica o tamanho em bytes dessa estrutura DD_D3DBUFCALLBACKS.
dwFlags
Reservado.
CanCreateD3DBuffer
Aponta para o retorno de chamada CanCreateD3DBuffer do driver.
CreateD3DBuffer
Aponta para o retorno de chamada CreateD3DBuffer do driver.
DestroyD3DBuffer
Aponta para o retorno de chamada DestroyD3DBuffer do driver.
LockD3DBuffer
Aponta para o retorno de chamada lockD3DBuffer do driver.
UnlockD3DBuffer
Aponta para o retorno de chamada unlockD3DBuffer do driver.
Comentários
Os drivers que gerenciam seus próprios buffers de comando e vértice devem preencher uma estrutura DD_D3DBUFCALLBACKS e apontar o membro lpD3DBufCallbacks de DD_HALINFO para ele.
O driver também deve dar suporte às funções de retorno de chamada relatadas na estrutura DD_D3DBUFCALLBACKS. Esses retornos de chamada xxxD3DBuffer são análogos ao retorno de chamada DdXxxSurface de nome semelhante; eles têm os mesmos protótipos e são chamados com os mesmos parâmetros de entrada. Esses novos retornos de chamada são chamados somente quando a superfície em questão tem o sinalizador DDSCAPS_EXECUTEBUFFER definido nas tampas da superfície. Os sinalizadores de criação de buffer são DDSCAPS_WRITEONLY, DDSCAPS2_VERTEXBUFFER e DDSCAPS2_COMMANDBUFFER.
O driver determina o tipo de buffer que está sendo solicitado verificando o membro ddsCaps da estrutura DD_SURFACE_LOCAL que é passada para CanCreateD3DBuffer e CreateD3DBuffer para os seguintes sinalizadores:
-
DDSCAPS_VERTEXBUFFER
Indica que o driver deve alocar um buffer de vértice explícito.
-
DDSCAPS_COMMANDBUFFER
Indica que o driver deve alocar um buffer de comando.
-
A ausência desses dois sinalizadores
Indica que o driver deve alocar um buffer de vértice implícito.
Requisitos
Cabeçalho | ddrawint.h (inclua Winddi.h) |