Metode IDirect3DDevice9::D rawTriPatch (d3d9helper.h)

Menggambar patch segitiga menggunakan aliran yang saat ini diatur.

Sintaks

HRESULT DrawTriPatch(
  [in] UINT                   Handle,
  [in] const float            *pNumSegs,
  [in] const D3DTRIPATCH_INFO *pTriPatchInfo
);

Parameter

[in] Handle

Jenis: UINT

Tangani patch segitiga untuk menggambar.

[in] pNumSegs

Jenis: const float*

Penunjuk ke array dari tiga nilai floating-point yang mengidentifikasi jumlah segmen setiap tepi patch segitiga harus dibagi menjadi saat tessellated. Lihat D3DTRIPATCH_INFO.

[in] pTriPatchInfo

Jenis: const D3DTRIPATCH_INFO*

Arahkan ke struktur D3DTRIPATCH_INFO , yang menjelaskan patch pesanan tinggi segitiga untuk menggambar.

Mengembalikan nilai

Jenis: HRESULT

Jika metode berhasil, nilai yang dikembalikan 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 dalam parameter pTriPatchInfo, dan tentukan handel sehingga Direct3D dapat menangkap dan menyimpan informasi. Untuk menggambar patch secara efisien, panggil IDirect3DDevice9::D rawTriPatch dengan pTriPatchInfo diatur ke NULL. 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 yang di-cache, Anda harus mengatur shader vertex yang sama yang diatur saat diambil.

Memanggil IDirect3DDevice9::D rawTriPatch dengan handel membatalkan handel yang sama yang di-cache oleh panggilan IDirect3DDevice9::D rawRectPatch 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 mengatur Handel ke 0 dan pTriPatchInfo secara bersamaan ke NULL.

Persyaratan

   
Target Platform Windows
Header d3d9helper.h (termasuk D3D9.h)
Pustaka D3D9.lib

Lihat juga

IDirect3DDevice9

Menggunakan Higher-Order Primitif (Direct3D 9)