PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT funzione di callback (d3d10umddi.h)

La funzione DrawIndexedInstancedIndirect disegna istanze particolari di primitive indicizzate.

Sintassi

PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT Pfnd3d11ddiDrawindexedinstancedindirect;

void Pfnd3d11ddiDrawindexedinstancedindirect(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HRESOURCE unnamedParam2,
  UINT unnamedParam3
)
{...}

Parametri

unnamedParam1

hDevice [in]

Handle per il dispositivo di visualizzazione (contesto grafico).

unnamedParam2

hBufferForArgs

Handle di un buffer contenente gli argomenti per DrawIndexedInstancedIndirect da elaborare. Il buffer contiene la struttura strettamente compressa seguente:

struct DrawIndexedInstancedIndirectArgs {
  UINT IndexCountPerInstance; 
  UINT InstanceCount;
  UINT StartIndexLocation;
  INT BaseVertexLocation;
  UINT StartInstanceLocation;
}

Per altre informazioni su questi argomenti, vedere la pagina di riferimento DrawIndexedInstanced .

unnamedParam3

AlignedByteOffsetForArgs

Offset, in byte, nel buffer specificato da hBufferForArgs . AlignedByteOffsetForArgs deve essere un multiplo di 4.

Valore restituito

nessuno

Osservazioni

Il driver può usare la funzione di callback pfnSetErrorCb per impostare un codice di errore.

La funzione DrawIndexedInstancedIndirect esegue la stessa attività della chiamata alla funzione DrawIndexedInstanced del driver. DrawIndexedInstancedIndirect ottiene tuttavia informazioni sulle primitive di indice dal contenuto del buffer specificato dal parametro hBufferForArgs. DrawIndexedInstancedIndirect legge il contenuto del buffer, a partire dall'offset di byte specificato dal parametro AlignedByteOffsetForArgs .

Quando il runtime Direct3D chiama la funzione CreateResource(D3D11) del driver per creare la risorsa buffer specificata dal parametro hBufferForArgs , il runtime deve impostare il flag D3D11_DDI_RESOURCE_MISC_DRAWINDIRECT_ARGS nel membro MiscFlags della struttura D3D11DDIARG_CREATERESOURCE .

Il driver non deve riscontrare errori, ad eccezione di D3DDDIERR_DEVICEREMOVED. Pertanto, se il driver passa qualsiasi errore, ad eccezione di D3DDDIERR_DEVICEREMOVED, in una chiamata alla funzione pfnSetErrorCb , il runtime Direct3D determina che l'errore è critico. Anche se il dispositivo viene rimosso, il driver non è necessario per restituire D3DDDIERR_DEVICEREMOVED; Tuttavia, se la rimozione del dispositivo interferisce con l'operazione di DrawIndexedInstancedIndirect (che in genere non dovrebbe verificarsi), il driver può restituire D3DDDIERR_DEVICEREMOVED.

Requisiti

Requisito Valore
Client minimo supportato DrawIndexedInstancedIndirect è supportato a partire dal sistema operativo Windows 7.
Piattaforma di destinazione Desktop
Intestazione d3d10umddi.h (include D3d10umddi.h)

Vedi anche

CreateResource(D3D11)

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DrawIndexedInstanced

pfnSetErrorCb