Metodo IDirect3DDevice9::UpdateSurface (d3d9.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.
Formati dest | |||||
---|---|---|---|---|---|
Trama | Trama RT | RT | Fuori schermo normale | ||
Formati Src | Trama | Sì | Sì | Sì* | Sì |
Trama RT | No | No | No | No | |
RT | No | No | No | No | |
Fuori schermo normale | Sì | Sì | Sì | Sì |
- 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
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d9.h (include D3D9.h) |
Libreria | D3D9.lib |