Método IDirect3DDevice9::UpdateSurface (d3d9.h)
Copia subconjuntos rectangulares de píxeles de una superficie a otra.
Sintaxis
HRESULT UpdateSurface(
[in] IDirect3DSurface9 *pSourceSurface,
[in] const RECT *pSourceRect,
[in] IDirect3DSurface9 *pDestinationSurface,
[in] const POINT *pDestPoint
);
Parámetros
[in] pSourceSurface
Tipo: IDirect3DSurface9*
Puntero a una interfaz IDirect3DSurface9 , que representa la superficie de origen. Este parámetro debe apuntar a una superficie diferente a pDestinationSurface.
[in] pSourceRect
Tipo: const RECT*
Puntero a un rectángulo en la superficie de origen. Especificar NULL para este parámetro hace que se copie toda la superficie.
[in] pDestinationSurface
Tipo: IDirect3DSurface9*
Puntero a una interfaz IDirect3DSurface9 , que representa la superficie de destino.
[in] pDestPoint
Tipo: const POINT*
Puntero a la esquina superior izquierda del rectángulo de destino. Especificar NULL para este parámetro hace que se copie toda la superficie.
Valor devuelto
Tipo: HRESULT
Si el método se realiza correctamente, el valor devuelto es D3D_OK. Si se produce un error en el método, el valor devuelto puede ser uno de los siguientes: D3DERR_INVALIDCALL.
Comentarios
Este método es similar a CopyRects en DirectX 8.
Esta función tiene las siguientes restricciones.
- La superficie de origen debe haberse creado con D3DPOOL_SYSTEMMEM.
- La superficie de destino debe haberse creado con D3DPOOL_DEFAULT.
- Ninguna superficie puede bloquearse ni mantener un contexto de dispositivo pendiente.
- Ninguna superficie se puede crear con muestreo múltiple. La única marca válida para ambas superficies es D3DMULTISAMPLE_NONE.
- El formato de superficie no puede ser un formato de galería de símbolos de profundidad.
- Los rects de origen y dest deben caber dentro de la superficie.
- No se permite estirar ni reducir (los rects deben tener el mismo tamaño).
- El formato de origen debe coincidir con el formato dest.
Formatos dest | |||||
---|---|---|---|---|---|
Textura | Textura RT | RT | Sin formato de pantalla | ||
Formatos Src | Textura | Sí | Sí | Sí* | Sí |
Textura RT | No | No | No | No | |
RT | No | No | No | No | |
Sin formato de pantalla | Sí | Sí | Sí | Sí |
- Si el controlador no admite la copia solicitada, se emulará mediante bloqueo y copia.
Si la aplicación necesita copiar datos de un destino de representación de D3DPOOL_DEFAULT en una superficie de D3DPOOL_SYSTEMMEM, puede usar GetRenderTargetData.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | d3d9.h (incluya D3D9.h) |
Library | D3D9.lib |