Metode IDirect3DDevice9Ex::ComposeRects (d3d9.h)
Salin string teks ke satu permukaan menggunakan alfabet glyph di permukaan lain. Komposisi dilakukan oleh GPU menggunakan operasi bitwise.
Sintaks
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
Jenis: IDirect3DSurface9*
Pointer ke permukaan sumber (disiapkan oleh IDirect3DSurface9) yang memasok alfabet glyph. Permukaan ini harus dibuat dengan bendera D3DUSAGE_TEXTAPI .
[in] pDst
Jenis: IDirect3DSurface9*
Penunjuk ke permukaan tujuan (disiapkan oleh IDirect3DSurface9) yang menerima data glyph. Permukaan harus menjadi bagian dari tekstur.
[in] pSrcRectDescs
Jenis: IDirect3DVertexBuffer9*
Penunjuk ke buffer vertex (lihat IDirect3DVertexBuffer9) yang berisi persegi panjang (lihat D3DCOMPOSERECTDESC) yang mengapit glyph yang diinginkan di permukaan sumber.
[in] NumRects
Jenis: UINT
Jumlah persegi panjang atau glyph yang digunakan dalam operasi. Angka tersebut berlaku untuk permukaan sumber dan tujuan. Rentangnya adalah 0 hingga D3DCOMPOSERECTS_MAXNUMRECTS.
[in] pDstRectDescs
Jenis: IDirect3DVertexBuffer9*
Penunjuk ke buffer vertex (lihat IDirect3DVertexBuffer9) yang berisi persegi panjang (lihat D3DCOMPOSERECTDESTINATION) yang menjelaskan tujuan di mana glyph yang ditunjukkan dari permukaan sumber akan disalin.
[in] Operation
Jenis: D3DCOMPOSERECTSOP
Menentukan cara menggabungkan permukaan sumber dan tujuan. Lihat D3DCOMPOSERECTSOP.
[in] Xoffset
Jenis: INT
Nilai yang ditambahkan ke koordinat x dari semua persegi panjang tujuan. Nilai ini bisa negatif, yang dapat menyebabkan glyph ditolak atau diklip jika hasilnya berada di luar batas permukaan.
[in] Yoffset
Jenis: INT
Nilai yang ditambahkan ke koordinat y dari semua persegi panjang tujuan. Nilai ini bisa negatif, yang dapat menyebabkan glyph ditolak atau diklip jika hasilnya berada di luar batas permukaan.
Menampilkan nilai
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan adalah D3D_OK.
Keterangan
Glyph dari permukaan sumber satu-bit disatukan ke permukaan tekstur satu-bit lainnya dengan metode ini. Permukaan tujuan kemudian dapat digunakan sebagai sumber untuk operasi tekstur normal yang akan memfilter dan menskalakan string teks ke beberapa permukaan non-monokrom lainnya.
Metode ini memiliki beberapa batasan (yang mirip dengan StretchRect):
- Permukaan tidak dapat dikunci.
- Permukaan sumber dan tujuan tidak boleh sama.
- Permukaan sumber dan tujuan harus dibuat dengan format D3DFMT_A1 .
- Permukaan sumber dan kedua buffer vertex harus dibuat dengan bendera D3DPOOL_DEFAULT .
- Permukaan tujuan harus dibuat dengan bendera D3DPOOL_DEFAULT atau D3DPOOL_SYSTEMMEM .
- Persegi panjang sumber harus berada di dalam permukaan sumber.
Persyaratan
Target Platform | Windows |
Header | d3d9.h |
Pustaka | D3D9.lib |