Méthode IDirect3DDevice9 ::UpdateSurface (d3d9.h)
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 |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour