Partager via


Méthode IDirect3DDevice9Ex::ComposeRects (d3d9.h)

Copiez une chaîne de texte sur une surface à l’aide d’un alphabet de glyphes sur une autre surface. La composition est effectuée par le GPU à l’aide d’opérations au niveau du bit.

Syntaxe

HRESULT ComposeRects(
  [in] IDirect3DSurface9      *pSrc,
  [in] IDirect3DSurface9      *pDst,
  [in] IDirect3DVertexBuffer9 *pSrcRectDescs,
  [in] UINT                   NumRects,
  [in] IDirect3DVertexBuffer9 *pDstRectDescs,
  [in] D3DCOMPOSERECTSOP      Operation,
  [in] int                    Xoffset,
  [in] int                    Yoffset
);

Paramètres

[in] pSrc

Type : IDirect3DSurface9*

Pointeur vers une surface source (préparée par IDirect3DSurface9) qui fournit les glyphes de l’alphabet. Cette surface doit être créée avec l’indicateur D3DUSAGE_TEXTAPI .

[in] pDst

Type : IDirect3DSurface9*

Pointeur vers la surface de destination (préparée par IDirect3DSurface9) qui reçoit les données de glyphe. La surface doit faire partie d’une texture.

[in] pSrcRectDescs

Type : IDirect3DVertexBuffer9*

Pointeur vers une mémoire tampon de vertex (voir IDirect3DVertexBuffer9) contenant des rectangles (voir D3DCOMPOSERECTDESC) qui entourent les glyphes souhaités dans la surface source.

[in] NumRects

Type : UINT

Nombre de rectangles ou de glyphes utilisés dans l’opération. Le nombre s’applique aux surfaces source et de destination. La plage est comprise entre 0 et D3DCOMPOSERECTS_MAXNUMRECTS.

[in] pDstRectDescs

Type : IDirect3DVertexBuffer9*

Pointeur vers une mémoire tampon de vertex (voir IDirect3DVertexBuffer9) contenant des rectangles (voir D3DCOMPOSERECTDESTINATION) qui décrivent la destination vers laquelle le glyphe indiqué de la surface source sera copié.

[in] Operation

Type : D3DCOMPOSERECTSOP

Spécifie comment combiner les surfaces source et de destination. Consultez D3DCOMPOSERECTSOP.

[in] Xoffset

Type : INT

Valeur ajoutée aux coordonnées x de tous les rectangles de destination. Cette valeur peut être négative, ce qui peut entraîner le rejet ou le découpage du glyphe si le résultat est au-delà des limites de la surface.

[in] Yoffset

Type : INT

Valeur ajoutée aux coordonnées y de tous les rectangles de destination. Cette valeur peut être négative, ce qui peut entraîner le rejet ou le découpage du glyphe si le résultat est au-delà des limites de la surface.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK.

Notes

Les glyphes d’une surface source un bits sont regroupés dans une autre surface de texture un bit à l’aide de cette méthode. La surface de destination peut ensuite être utilisée comme source pour une opération de texturation normale qui filtre et met à l’échelle les chaînes de texte sur une autre surface non monochrome.

Cette méthode a plusieurs contraintes (qui sont similaires à StretchRect) :

  • Les surfaces ne peuvent pas être verrouillées.
  • Les surfaces source et de destination ne peuvent pas être la même surface.
  • Les surfaces source et de destination doivent être créées au format D3DFMT_A1 .
  • La surface source et les deux tampons de vertex doivent être créés avec l’indicateur D3DPOOL_DEFAULT .
  • La surface de destination doit être créée avec les indicateurs D3DPOOL_DEFAULT ou D3DPOOL_SYSTEMMEM .
  • Les rectangles sources doivent se trouver dans la surface source.
La méthode n’est pas enregistrée dans les blocs d’état.

Spécifications

   
Plateforme cible Windows
En-tête d3d9.h
Bibliothèque D3D9.lib

Voir aussi

IDirect3DDevice9Ex