Compartir a través de


Método IDirect3DDevice9::UpdateSurface (d3d9helper.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.
En la tabla siguiente se muestran las combinaciones admitidas.
Formatos dest
Textura Textura RT RT Sin formato de pantalla
Formatos Src Textura Sí*
Textura RT No No No No
RT No No No No
Sin formato de pantalla
 
  • 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

   
Plataforma de destino Windows
Encabezado d3d9helper.h (incluya D3D9.h)
Library D3D9.lib

Consulte también

IDirect3DDevice9