IDirect3DDevice9Ex::ComposeRects-Methode (d3d9.h)

Kopieren Sie eine Textzeichenfolge auf eine Oberfläche mit einem Alphabet von Glyphen auf einer anderen Oberfläche. Die Komposition erfolgt durch die GPU mit bitweisen Vorgängen.

Syntax

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

Parameter

[in] pSrc

Typ: IDirect3DSurface9*

Ein Zeiger auf eine Quelloberfläche (vorbereitet von IDirect3DSurface9), die die Alphabet-Glyphen bereitstellt. Diese Oberfläche muss mit dem flag D3DUSAGE_TEXTAPI erstellt werden.

[in] pDst

Typ: IDirect3DSurface9*

Ein Zeiger auf die Zieloberfläche (vorbereitet von IDirect3DSurface9), die die Glyphendaten empfängt. Die Oberfläche muss Teil einer Textur sein.

[in] pSrcRectDescs

Typ: IDirect3DVertexBuffer9*

Ein Zeiger auf einen Vertexpuffer (siehe IDirect3DVertexBuffer9), der Rechtecke enthält (siehe D3DCOMPOSERECTDESC), die die gewünschten Glyphen in der Quelloberfläche einschließen.

[in] NumRects

Typ: UINT

Die Anzahl der Rechtecke oder Glyphen, die im Vorgang verwendet werden. Die Zahl gilt sowohl für die Quell- als auch für die Zieloberfläche. Der Bereich ist 0 bis D3DCOMPOSERECTS_MAXNUMRECTS.

[in] pDstRectDescs

Typ: IDirect3DVertexBuffer9*

Ein Zeiger auf einen Vertexpuffer (siehe IDirect3DVertexBuffer9), der Rechtecke enthält (siehe D3DCOMPOSERECTDESTINATION), die das Ziel beschreiben, in das die angegebene Glyphe von der Quelloberfläche kopiert wird.

[in] Operation

Typ: D3DCOMPOSERECTSOP

Gibt an, wie die Quell- und Zieloberflächen kombiniert werden. Siehe D3DCOMPOSERECTSOP.

[in] Xoffset

Typ: INT

Ein Wert, der den x-Koordinaten aller Zielrechtecke hinzugefügt wird. Dieser Wert kann negativ sein, was dazu führen kann, dass die Glyphe abgelehnt oder abgeschnitten wird, wenn das Ergebnis die Grenzen der Oberfläche überschreitet.

[in] Yoffset

Typ: INT

Ein Wert, der den y-Koordinaten aller Zielrechtecke hinzugefügt wird. Dieser Wert kann negativ sein, was dazu führen kann, dass die Glyphe abgelehnt oder abgeschnitten wird, wenn das Ergebnis die Grenzen der Oberfläche überschreitet.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK.

Hinweise

Glyphen aus einer Ein-Bit-Quelloberfläche werden mit dieser Methode zu einer anderen Ein-Bit-Texturoberfläche zusammengefasst. Die Zieloberfläche kann dann als Quelle für einen normalen Texturierungsvorgang verwendet werden, der die Textzeichenfolgen auf eine andere nicht monochrome Oberfläche filtert und skaliert.

Diese Methode weist mehrere Einschränkungen auf (ähnlich wie StretchRect):

  • Oberflächen können nicht gesperrt werden.
  • Quell- und Zieloberflächen können nicht dieselbe Oberfläche sein.
  • Die Quell- und Zieloberflächen müssen mit dem format D3DFMT_A1 erstellt werden.
  • Die Quelloberfläche und beide Vertexpuffer müssen mit dem flag D3DPOOL_DEFAULT erstellt werden.
  • Die Zieloberfläche muss entweder mit dem D3DPOOL_DEFAULT - oder D3DPOOL_SYSTEMMEM-Flags erstellt werden.
  • Die Quellrechtecke müssen sich innerhalb der Quelloberfläche befinden.
Die -Methode wird nicht in Zustandsblöcken aufgezeichnet.

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d9.h
Bibliothek D3D9.lib

Weitere Informationen

IDirect3DDevice9Ex