Metode IDirect3DDevice9::D rawRectPatch (d3d9.h)
Menggambar patch persegi panjang menggunakan aliran yang saat ini diatur.
Sintaks
HRESULT DrawRectPatch(
[in] UINT Handle,
[in] const float *pNumSegs,
[in] const D3DRECTPATCH_INFO *pRectPatchInfo
);
Parameter
[in] Handle
Jenis: UINT
Tangani ke patch persegi panjang untuk menggambar.
[in] pNumSegs
Jenis: const float*
Penunjuk ke array empat nilai floating-point yang mengidentifikasi jumlah segmen setiap tepi patch persegi harus dibagi menjadi ketika tessellated. Lihat D3DRECTPATCH_INFO.
[in] pRectPatchInfo
Jenis: const D3DRECTPATCH_INFO*
Penunjuk ke struktur D3DRECTPATCH_INFO , menjelaskan patch persegi panjang untuk menggambar.
Nilai kembali
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan adalah D3D_OK. Jika metode gagal, nilai yang dikembalikan dapat D3DERR_INVALIDCALL.
Keterangan
Untuk patch statis: Atur shader vertex, atur aliran yang sesuai, berikan informasi patch di parameter pRectPatchInfo, dan tentukan handel sehingga Direct3D dapat menangkap dan menyimpan informasi cache. Panggil IDirect3DDevice9::D rawRectPatch kemudian dengan pRectPatchInfo diatur ke NULL untuk menggambar patch secara efisien. Saat menggambar patch yang di-cache, aliran yang saat ini diatur diabaikan. Ambil alih pNumSegs yang di-cache dengan menentukan nilai baru untuk pNumSegs. Saat merender patch cache, Anda harus mengatur shader vertex yang sama yang diatur saat diambil.
Memanggil IDirect3DDevice9::D rawRectPatch dengan handel membatalkan handel yang sama yang di-cache oleh panggilan IDirect3DDevice9::D rawTriPatch sebelumnya.
Untuk patch dinamis, data patch berubah untuk setiap penyajian patch, sehingga tidak efisien untuk menyimpan informasi. Aplikasi dapat menyampaikan ini ke Direct3D dengan mengatur Handel ke 0. Dalam hal ini, Direct3D menggambar patch menggunakan aliran yang saat ini diatur dan nilai pNumSegs, dan tidak menyimpan informasi apa pun. Tidak valid untuk secara bersamaan mengatur Handel ke 0 dan pRectPatchInfo ke NULL.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d9.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |