Buffer Vertex FVF (Direct3D 9)

Mengatur parameter FVF dari metode IDirect3DDevice9::CreateVertexBuffer ke nilai bukan nol, yang harus berupa kode FVF yang valid, menunjukkan bahwa konten buffer akan ditandai dengan kode FVF. Buffer vertex yang dibuat dengan kode FVF disebut sebagai buffer vertex FVF. Beberapa metode atau penggunaan IDirect3DDevice9 memerlukan buffer vertex FVF, dan yang lain memerlukan buffer vertex non-FVF. Buffer vertex FVF diperlukan sebagai argumen buffer vertex tujuan untuk IDirect3DDevice9::P rocessVertices.

Buffer vertex FVF dapat terikat ke aliran data sumber untuk nomor aliran apa pun.

Kehadiran komponen D3DFVF_XYZRHW pada buffer vertex FVF menunjukkan bahwa simpul dalam buffer tersebut telah diproses. Buffer vertex yang digunakan untuk buffer vertex tujuan IDirect3DDevice9::P rocessVertices harus pasca-diproses . Buffer vertex yang digunakan untuk input shader fungsi tetap dapat diolah sebelumnya atau pascaproscess. Jika buffer vertex diproses pasca-diproses, shader secara efektif dilewati dan data diteruskan langsung ke modul kliping dan penyiapan primitif.

Buffer vertex FVF dapat digunakan dengan shader vertex. Selain itu, aliran vertex dapat mewakili format vertex yang sama dengan buffer vertex non-FVF. Mereka tidak harus digunakan untuk memasukkan data dari buffer vertex terpisah. Fleksibilitas tambahan dari aliran vertex baru memungkinkan aplikasi yang perlu memisahkan data mereka agar berfungsi lebih baik, tetapi tidak diperlukan. Jika aplikasi dapat mempertahankan data yang saling terkait terlebih dahulu, maka itu adalah peningkatan performa. Jika aplikasi hanya akan menjalin data sebelum setiap panggilan penyajian, maka api atau perangkat keras harus mengaktifkan API atau perangkat keras untuk melakukan ini dengan beberapa aliran.

Hal terpenting dengan performa vertex adalah menggunakan vertex 32-byte, dan untuk mempertahankan urutan cache yang baik.

Buffer Vertex