PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT función de devolución de llamada (d3d10umddi.h)
La función DrawIndexedInstancedIndirect dibuja instancias concretas de primitivos indexados.
Sintaxis
PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT Pfnd3d11ddiDrawindexedinstancedindirect;
void Pfnd3d11ddiDrawindexedinstancedindirect(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HRESOURCE unnamedParam2,
UINT unnamedParam3
)
{...}
Parámetros
unnamedParam1
hDevice [in]
Identificador del dispositivo de visualización (contexto de gráficos).
unnamedParam2
hBufferForArgs
Identificador de un búfer que contiene los argumentos de drawIndexedInstancedIndirect procesar. El búfer contiene la siguiente estructura estrechamente empaquetada:
struct DrawIndexedInstancedIndirectArgs {
UINT IndexCountPerInstance;
UINT InstanceCount;
UINT StartIndexLocation;
INT BaseVertexLocation;
UINT StartInstanceLocation;
}
Para obtener más información sobre estos argumentos, consulte la página de referencia DrawIndexedInstanced.
unnamedParam3
alignedByteOffsetForArgs
Desplazamiento, en bytes, en el búfer que hBufferForArgs especifica. alignedByteOffsetForArgs debe ser un múltiplo de 4.
Valor devuelto
Ninguno
Observaciones
El controlador puede usar el pfnSetErrorCb función de devolución de llamada para establecer un código de error.
La función DrawIndexedInstancedIndirect realiza la misma tarea que la llamada a la función DrawIndexedInstanced del controlador. Sin embargo, DrawIndexedInstancedIndirect obtiene información sobre los primitivos de índice del contenido del búfer que especifica el parámetro hBufferForArgs. DrawIndexedInstancedIndirect lee el contenido del búfer, empezando por el desplazamiento de bytes que especifica el parámetro AlignedByteOffsetForArgs.
Cuando el tiempo de ejecución de Direct3D llama a la función CreateResource(D3D11) del controlador para crear el recurso de búfer que especifica el parámetro hBufferForArgs, el tiempo de ejecución debe establecer la marca D3D11_DDI_RESOURCE_MISC_DRAWINDIRECT_ARGS en el MiscFlags miembro de la estructura D3D11DDIARG_CREATERESOURCE.
El controlador no debe encontrar ningún error, excepto D3DDDIERR_DEVICEREMOVED. Por lo tanto, si el controlador pasa algún error, excepto por D3DDDIERR_DEVICEREMOVED, en una llamada a la función pfnSetErrorCb, el tiempo de ejecución de Direct3D determina que el error es crítico. Incluso si se quita el dispositivo, no es necesario que el controlador devuelva D3DDDIERR_DEVICEREMOVED; Sin embargo, si la eliminación de dispositivos interfiere con el funcionamiento de DrawIndexedInstancedIndirect (que normalmente no debería ocurrir), el controlador puede devolver D3DDDIERR_DEVICEREMOVED.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | DrawIndexedInstancedIndirect se admite a partir del sistema operativo Windows 7. |
de la plataforma de destino de | Escritorio |
encabezado de | d3d10umddi.h (incluya D3d10umddi.h) |