Bagikan melalui


Metode IDirect3DDevice9::D rawTriPatch (d3d9.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 tiga nilai floating-point yang mengidentifikasi jumlah segmen setiap tepi patch segitiga harus dibagi menjadi ketika tessellated. Lihat D3DTRIPATCH_INFO.

[in] pTriPatchInfo

Jenis: const D3DTRIPATCH_INFO*

Penunjuk ke struktur D3DTRIPATCH_INFO , menjelaskan patch urutan tinggi segitiga 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 dalam parameter pTriPatchInfo, dan tentukan handel sehingga Direct3D dapat menangkap dan menyimpan informasi cache. 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 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 secara bersamaan mengatur Handel ke 0 dan pTriPatchInfo ke NULL.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header d3d9.h (termasuk D3D9.h)
Pustaka D3D9.lib

Lihat juga

IDirect3DDevice9

Menggunakan Higher-Order Primitif (Direct3D 9)