Méthode IDirect3DDevice9::UpdateSurface (d3d9helper.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 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 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.
Notes
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.
- L’aire de destination doit avoir été créée avec D3DPOOL_DEFAULT.
- Aucune surface ne peut être verrouillée ou contenir un contexte d’appareil en suspens.
- Aucune surface ne peut être créée avec le multi-échantillonnage. Le seul indicateur valide pour les deux surfaces est D3DMULTISAMPLE_NONE.
- Le format surface ne peut pas être un format de gabarit de profondeur.
- Les rects source et dest doivent s’insérer 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 sera é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 vers une surface de D3DPOOL_SYSTEMMEM, elle peut utiliser GetRenderTargetData.
Spécifications
Plateforme cible | Windows |
En-tête | d3d9helper.h (incluez 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