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.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d9.h |
Bibliothek | D3D9.lib |