Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Copie des sous-ensembles rectangulaires de pixels d’une surface à une autre.
Syntaxe
HRESULT UpdateSurface(
[in] IDirect3DSurface9 *pSourceSurface,
[in] const RECT *pSourceRect,
[in] IDirect3DSurface9 *pDestinationSurface,
[in] const POINT *pDestPoint
);
Paramètres
[in] pSourceSurface
Type : IDirect3DSurface9*
Pointeur vers une interface IDirect3DSurface9 , représentant la surface source. Ce paramètre doit pointer vers une surface différente de pDestinationSurface.
[in] pSourceRect
Type : const RECT*
Pointeur vers un rectangle sur la surface source. La spécification de null pour ce paramètre entraîne la copie de la surface entière.
[in] pDestinationSurface
Type : IDirect3DSurface9*
Pointeur vers une interface IDirect3DSurface9 , représentant la surface de destination.
[in] pDestPoint
Type : const POINT*
Pointeur vers le coin supérieur gauche du rectangle de destination. La spécification de null pour ce paramètre entraîne la copie de la surface entière.
Valeur retournée
Type : HRESULT
Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être l’une des suivantes : D3DERR_INVALIDCALL.
Remarques
Cette méthode est similaire à CopyRects dans DirectX 8.
Cette fonction présente les restrictions suivantes.
- La surface source doit avoir été créée avec D3DPOOL_SYSTEMMEM.
- La surface de destination doit avoir été créée avec D3DPOOL_DEFAULT.
- Aucune surface ne peut être verrouillée ou contenir un contexte d’appareil exceptionnel.
- Aucune des surfaces ne peut être créée avec l’échantillonnage multiple. Le seul indicateur valide pour les deux surfaces est D3DMULTISAMPLE_NONE.
- Le format de surface ne peut pas être un format de gabarit de profondeur.
- Les rects source et dest doivent tenir dans la surface.
- Aucun étirement ou réduction n’est autorisé (les rects doivent avoir la même taille).
- Le format source doit correspondre au format dest.
| Formats dest | |||||
|---|---|---|---|---|---|
| Texture | Texture RT | RT | Hors écran simple | ||
| Formats Src | Texture | Oui | Oui | Oui* | Oui |
| Texture RT | Non | Non | Non | Non | |
| RT | Non | Non | Non | Non | |
| Hors écran simple | Oui | Oui | Oui | Oui |
- Si le pilote ne prend pas en charge la copie demandée, elle est émulée à l’aide du verrouillage et de la copie.
Si l’application doit copier des données d’une cible de rendu D3DPOOL_DEFAULT sur une surface D3DPOOL_SYSTEMMEM, elle peut utiliser GetRenderTargetData.
Configuration requise
| Condition requise | Valeur |
|---|---|
| Plateforme cible | Windows |
| En-tête | d3d9.h (inclure D3D9.h) |
| Bibliothèque | D3D9.lib |