Partilhar via


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 para 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 especifica hBufferForArgs. AlignedByteOffsetForArgs deve ser um múltiplo de 4.

Valor de retorno

Nenhum

Observações

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 de 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 será necessário para 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
de cliente com suporte mínimo Há suporte para DrawIndexedInstancedIndirect a partir do sistema operacional Windows 7.
da Plataforma de Destino Área de trabalho
cabeçalho d3d10umddi.h (inclua D3d10umddi.h)

Consulte também

CreateResource(D3D11)

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DrawIndexedInstanced

pfnSetErrorCb