PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT função de retorno de chamada (d3d10umddi.h)
A função DrawIndexedInstancedIndirect desenha instâncias específicas de primitivos indexados.
Sintaxe
PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT Pfnd3d11ddiDrawindexedinstancedindirect;
void Pfnd3d11ddiDrawindexedinstancedindirect(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HRESOURCE unnamedParam2,
UINT unnamedParam3
)
{...}
Parâmetros
unnamedParam1
hDevice [in]
Um identificador para o dispositivo de exibição (contexto gráfico).
unnamedParam2
hBufferForArgs
Um identificador para um buffer que contém os argumentos para DrawIndexedInstancedIndirect processar. O buffer contém a seguinte estrutura bem empacotada:
struct DrawIndexedInstancedIndirectArgs {
UINT IndexCountPerInstance;
UINT InstanceCount;
UINT StartIndexLocation;
INT BaseVertexLocation;
UINT StartInstanceLocation;
}
Para obter mais informações sobre esses argumentos, consulte a página de referência DrawIndexedInstanced .
unnamedParam3
AlignedByteOffsetForArgs
O deslocamento, em bytes, para o buffer que hBufferForArgs especifica. AlignedByteOffsetForArgs deve ser um múltiplo de 4.
Retornar valor
Nenhum
Comentários
O driver pode usar a função de retorno de chamada pfnSetErrorCb para definir um código de erro.
A função DrawIndexedInstancedIndirect executa a mesma tarefa que a chamada para a função DrawIndexedInstanced do driver. No entanto, DrawIndexedInstancedIndirect obtém informações sobre os primitivos de índice do conteúdo do buffer especificado pelo parâmetro hBufferForArgs . DrawIndexedInstancedIndirect lê o conteúdo do buffer, começando no deslocamento de bytes especificado pelo parâmetro AlignedByteOffsetForArgs .
Quando o runtime do Direct3D chama a função CreateResource(D3D11) do driver para criar o recurso de buffer especificado pelo parâmetro hBufferForArgs , o runtime deve definir o sinalizador D3D11_DDI_RESOURCE_MISC_DRAWINDIRECT_ARGS no membro MiscFlags da estrutura D3D11DDIARG_CREATERESOURCE .
O driver não deve encontrar nenhum erro, exceto por D3DDDIERR_DEVICEREMOVED. Portanto, se o driver passar algum erro, exceto por D3DDDIERR_DEVICEREMOVED, em uma chamada para a função pfnSetErrorCb , o runtime do Direct3D determinará que o erro é crítico. Mesmo que o dispositivo seja removido, o driver não precisa retornar D3DDDIERR_DEVICEREMOVED; no entanto, se a remoção do dispositivo interferir na operação de DrawIndexedInstancedIndirect (o que normalmente não deve acontecer), o driver poderá retornar D3DDDIERR_DEVICEREMOVED.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | O DrawIndexedInstancedIndirect tem suporte a partir do sistema operacional Windows 7. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | d3d10umddi.h (inclua D3d10umddi.h) |