PFND3DDDI_BLT función de devolución de llamada (d3dumddi.h)
La función Blt copia el contenido de una superficie de origen en una superficie de destino.
Sintaxis
PFND3DDDI_BLT Pfnd3dddiBlt;
HRESULT Pfnd3dddiBlt(
HANDLE hDevice,
const D3DDDIARG_BLT *unnamedParam2
)
{...}
Parámetros
hDevice
Identificador del dispositivo de visualización (contexto de gráficos).
unnamedParam2
pData [in]
Puntero a una estructura de D3DDDIARG_BLT que describe los parámetros de la transferencia de bloques de bits (bitblt).
Valor devuelto
Blt devuelve uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
S_OK | El bitblt del recurso se realiza correctamente. |
E_OUTOFMEMORY | Blt no pudo asignar la memoria necesaria para que se complete. |
Comentarios
El tiempo de ejecución de Microsoft Direct3D llama a la función Blt del controlador de pantalla en modo de usuario para copiar el contenido de una superficie de origen en una superficie de destino. Después de asignar las referencias de superficie a las referencias de asignación, el controlador de pantalla en modo de usuario debe emitir los comandos de hardware adecuados. Si la asignación de origen o de destino está en memoria del sistema, es posible que se requiera que el controlador de pantalla en modo de usuario se sincronice (es decir, llame a la función pfnRenderCb ) si la secuencia de comandos de hardware pendiente contiene referencias a la asignación de memoria del sistema. Si las asignaciones de origen y destino están en la memoria del sistema, el controlador debe sincronizarse según sea necesario, pero no debe copiar el contenido de la superficie de origen. El tiempo de ejecución de Direct3D copia el contenido después de la llamada a pfnRenderCb .
El controlador de pantalla en modo de usuario debe controlar las siguientes condiciones que pueden producirse durante una operación de copia:
- Las superficies de origen y de destino forman parte del mismo recurso (es decir, los miembros hSrcResource y hDstResource de D3DDDIARG_BLT especifican identificadores en el mismo recurso).
- Los rectángulos de origen y destino se superponen (es decir, las coordenadas de las estructuras RECT en los miembros SrcRect y DstRect de D3DDDIARG_BLT superposición).
El controlador de pantalla en modo de usuario debe admitir colorkeying solo con formatos que se introdujeron antes de Microsoft DirectX 8.0. En el caso de los formatos que se introdujeron en DirectX 8.0 y versiones posteriores, no se requiere compatibilidad con la creación de claves de color.
El tipo de bitblt que se va a realizar se indica a través de las marcas de campo de bits que se especifican en el miembro Flags de D3DDDIARG_BLT. La memoria de vídeo a los bits de memoria de vídeo puede incluir la creación de claves de color, el ajuste, la creación de reflejo y la conversión de formato lineal a sRGB. La memoria del sistema a los bits de memoria de vídeo puede incluir la extensión y la conversión de formato lineal a sRGB; sin embargo, estos tipos de bits no incluyen nunca la creación de reflejo o la clave de color. Toda la memoria de vídeo a los bits de memoria del sistema y la memoria del sistema a los bits de memoria del sistema son copias directas solo; es decir, estos tipos de bitblts nunca incluyen la extensión, la creación de reflejo, la clave de color o la conversión de formato lineal a sRGB. Para obtener más información sobre el formato sRGB, consulte el sitio web de sRGB .
Para obtener más información sobre las reglas que la función Blt debe seguir al convertir valores de galería de símbolos de profundidad, vea Copiar valores de Depth-Stencil.
El tiempo de ejecución de Direct3D puede llamar a la función Blt del controlador de pantalla en modo de usuario para copiar el contenido de cualquier tipo de superficie de origen (por ejemplo, tipo offscreen-plain, tipo render-target o tipo de textura) a cualquier otro tipo de superficie de destino.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Escritorio |
Encabezado | d3dumddi.h (incluya D3dumddi.h) |