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.
Spécifications
Plateforme cible | Windows |
En-tête | d3d9.h |
Bibliothèque | D3D9.lib |