Metode IDirect3DDevice9::P rocessVertices (d3d9helper.h)
Menerapkan pemrosesan vertex yang ditentukan oleh shader vertex ke kumpulan aliran data input, menghasilkan satu aliran data vertex yang diselingi ke buffer vertex tujuan.
Sintaks
HRESULT ProcessVertices(
[in] UINT SrcStartIndex,
[in] UINT DestIndex,
[in] UINT VertexCount,
[in] IDirect3DVertexBuffer9 *pDestBuffer,
[in] IDirect3DVertexDeclaration9 *pVertexDecl,
[in] DWORD Flags
);
Parameter
[in] SrcStartIndex
Jenis: UINT
Indeks puncak pertama yang akan dimuat.
[in] DestIndex
Jenis: UINT
Indeks verteks pertama di buffer vertex tujuan tempat hasil ditempatkan.
[in] VertexCount
Jenis: UINT
Jumlah simpul yang akan diproses.
[in] pDestBuffer
Jenis: IDirect3DVertexBuffer9*
Pointer ke antarmuka IDirect3DVertexBuffer9, buffer vertex tujuan yang mewakili aliran data vertex yang saling terkait.
[in] pVertexDecl
Jenis: IDirect3DVertexDeclaration9*
Penunjuk ke antarmuka IDirect3DVertexDeclaration9 yang mewakili deklarasi data vertex output. Ketika vertex shader 3.0 atau lebih tinggi ditetapkan sebagai shader vertex saat ini, deklarasi vertex output harus ada.
[in] Flags
Jenis: DWORD
Opsi pemrosesan. Atur parameter ini ke 0 untuk pemrosesan default. Atur ke D3DPV_DONOTCOPYDATA untuk mencegah sistem menyalin data puncak yang tidak terpengaruh oleh operasi vertex ke dalam buffer tujuan. Nilai D3DPV_DONOTCOPYDATA dapat dikombinasikan dengan satu atau beberapa nilai D3DLOCK yang sesuai untuk buffer tujuan.
Mengembalikan nilai
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan adalah D3D_OK. Jika metode gagal, nilai yang dikembalikan dapat D3DERR_INVALIDCALL.
Keterangan
Urutan operasi untuk metode ini adalah sebagai berikut:
- Ubah simpul menjadi ruang proyeksi menggunakan matriks dunia + tampilan + proyeksi.
- Koordinat layar komputasi menggunakan pengaturan viewport.
- Jika kliping diaktifkan, komputasi kode kliping dan simpan di buffer internal, yang terkait dengan buffer vertex tujuan. Jika vertex berada di dalam frustum tampilan, koordinat layarnya dihitung. Jika puncak berada di luar frustum tampilan, puncak disimpan di buffer vertex tujuan dalam koordinat ruang proyeksi.
- Catatan lain: Pengguna tidak memiliki akses ke buffer kode klip internal. Tidak ada kliping yang dilakukan pada segitiga atau primitif lainnya.
Ketika Direct3D menghasilkan koordinat tekstur, atau menyalin atau mengubah koordinat tekstur input, dan format koordinat tekstur output menentukan lebih banyak komponen koordinat tekstur daripada yang dihasilkan Direct3D, Direct3D tidak mengubah komponen tambahan ini.
Persyaratan
Target Platform | Windows |
Header | d3d9helper.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |
Lihat juga
Jenis Perangkat dan Persyaratan Pemrosesan Vertex (Direct3D 9)