Compartir a través de


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

Copie una cadena de texto en una superficie mediante un alfabeto de glifos en otra superficie. La composición se realiza mediante la GPU mediante operaciones bit a bit.

Sintaxis

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
);

Parámetros

[in] pSrc

Tipo: IDirect3DSurface9*

Puntero a una superficie de origen (preparada por IDirect3DSurface9) que proporciona los glifos del alfabeto. Esta superficie debe crearse con la marca D3DUSAGE_TEXTAPI .

[in] pDst

Tipo: IDirect3DSurface9*

Puntero a la superficie de destino (preparada por IDirect3DSurface9) que recibe los datos del glifo. La superficie debe formar parte de una textura.

[in] pSrcRectDescs

Tipo: IDirect3DVertexBuffer9*

Puntero a un búfer de vértices (vea IDirect3DVertexBuffer9) que contiene rectángulos (vea D3DCOMPOSERECTDESC) que incluyen los glifos deseados en la superficie de origen.

[in] NumRects

Tipo: UINT

Número de rectángulos o glifos que se usan en la operación. El número se aplica a las superficies de origen y destino. El intervalo es de 0 a D3DCOMPOSERECTS_MAXNUMRECTS.

[in] pDstRectDescs

Tipo: IDirect3DVertexBuffer9*

Puntero a un búfer de vértices (vea IDirect3DVertexBuffer9) que contiene rectángulos (vea D3DCOMPOSERECTDESTINATION) que describen el destino al que se copiará el glifo indicado de la superficie de origen.

[in] Operation

Tipo: D3DCOMPOSERECTSOP

Especifica cómo combinar las superficies de origen y destino. Consulte D3DCOMPOSERECTSOP.

[in] Xoffset

Tipo: INT

Valor agregado a las coordenadas x de todos los rectángulos de destino. Este valor puede ser negativo, lo que puede hacer que el glifo se rechace o se recorte si el resultado está más allá de los límites de la superficie.

[in] Yoffset

Tipo: INT

Valor agregado a las coordenadas y de todos los rectángulos de destino. Este valor puede ser negativo, lo que puede hacer que el glifo se rechace o se recorte si el resultado está más allá de los límites de la superficie.

Valor devuelto

Tipo: HRESULT

Si el método se realiza correctamente, el valor devuelto es D3D_OK.

Comentarios

Los glifos de una superficie de origen de un bit se colocan en otra superficie de textura de un bit con este método. A continuación, la superficie de destino se puede usar como origen para una operación normal de texturización que filtrará y escalará las cadenas de texto en alguna otra superficie no monocromática.

Este método tiene varias restricciones (que son similares a StretchRect):

  • Las superficies no se pueden bloquear.
  • Las superficies de origen y destino no pueden ser la misma superficie.
  • Las superficies de origen y destino deben crearse con el formato D3DFMT_A1 .
  • La superficie de origen y ambos búferes de vértices deben crearse con la marca D3DPOOL_DEFAULT .
  • La superficie de destino debe crearse con las marcas D3DPOOL_DEFAULT o D3DPOOL_SYSTEMMEM .
  • Los rectángulos de origen deben estar dentro de la superficie de origen.
El método no se registra en bloques de estado.

Requisitos

   
Plataforma de destino Windows
Encabezado d3d9.h
Library D3D9.lib

Consulte también

IDirect3DDevice9Ex