Metodo IDirect3DDevice9::UpdateSurface (d3d9helper.h)

Copia subset rettangolari di pixel da una superficie a un'altra.

Sintassi

HRESULT UpdateSurface(
  [in] IDirect3DSurface9 *pSourceSurface,
  [in] const RECT        *pSourceRect,
  [in] IDirect3DSurface9 *pDestinationSurface,
  [in] const POINT       *pDestPoint
);

Parametri

[in] pSourceSurface

Tipo: IDirect3DSurface9*

Puntatore a un'interfaccia IDirect3DSurface9 che rappresenta la superficie di origine. Questo parametro deve puntare a una superficie diversa da pDestinationSurface.

[in] pSourceRect

Tipo: const RECT*

Puntatore a un rettangolo sulla superficie di origine. Se si specifica NULL per questo parametro, l'intera superficie viene copiata.

[in] pDestinationSurface

Tipo: IDirect3DSurface9*

Puntatore a un'interfaccia IDirect3DSurface9 che rappresenta la superficie di destinazione.

[in] pDestPoint

Tipo: const POINT*

Puntatore all'angolo superiore sinistro del rettangolo di destinazione. Se si specifica NULL per questo parametro, l'intera superficie viene copiata.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito viene D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL.

Commenti

Questo metodo è simile a CopyRects in DirectX 8.

Questa funzione presenta le restrizioni seguenti.

  • La superficie di origine deve essere stata creata con D3DPOOL_SYSTEMMEM.
  • La superficie di destinazione deve essere stata creata con D3DPOOL_DEFAULT.
  • Nessuna superficie può essere bloccata o con un contesto di dispositivo in sospeso.
  • Nessuna superficie può essere creata con multicampionamento. L'unico flag valido per entrambe le superfici è D3DMULTISAMPLE_NONE.
  • Il formato della superficie non può essere un formato depth stencil.
  • L'origine e il dest devono essere inseriti all'interno della superficie.
  • Non è consentita alcuna estensione o compattazione (le recte devono avere le stesse dimensioni).
  • Il formato di origine deve corrispondere al formato dest.
La tabella seguente illustra le combinazioni supportate.
Formati dest
Trama Trama RT RT Fuori schermo normale
Formati Src Trama Sì*
Trama RT No No No No
RT No No No No
Fuori schermo normale
 
  • Se il driver non supporta la copia richiesta, verrà emulato usando il blocco e la copia.

Se l'applicazione deve copiare dati da una destinazione di rendering D3DPOOL_DEFAULT a una superficie di D3DPOOL_SYSTEMMEM, può usare GetRenderTargetData.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d9helper.h (include D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9