Penyajian dari Buffer Vertex (Direct3D 9)

Merender data vertex dari buffer vertex memerlukan beberapa langkah. Pertama, Anda perlu mengatur sumber aliran dengan memanggil metode IDirect3DDevice9::SetStreamSource , seperti yang ditunjukkan dalam contoh berikut.

d3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );

Parameter pertama IDirect3DDevice9::SetStreamSource memberi tahu Direct3D sumber aliran data perangkat. Parameter kedua adalah buffer vertex untuk mengikat aliran data. Parameter ketiga adalah offset dari awal aliran ke awal data vertex, dalam byte. Parameter keempat adalah langkah komponen, dalam byte. Dalam kode sampel di atas, ukuran CUSTOMVERTEX digunakan untuk langkah komponen.

Langkah selanjutnya adalah memberi tahu Direct3D shader vertex mana yang akan digunakan dengan memanggil metode IDirect3DDevice9::SetVertexShader . Kode sampel berikut menetapkan kode FVF untuk shader vertex. Ini menginformasikan Direct3D tentang jenis simpul yang dihadapinya.

d3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );

Setelah mengatur sumber aliran dan shader vertex, metode gambar apa pun akan menggunakan buffer vertex. Contoh kode di bawah ini menunjukkan cara merender simpul dari buffer vertex dengan metode IDirect3DDevice9::D rawPrimitive .

d3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 1 );

Parameter kedua yang diterima IDirect3DDevice9::D rawPrimitive adalah indeks vektor pertama dalam buffer vertex yang akan dimuat.

Buffer Puncak

Penyajian dari Vertex dan Buffer Indeks (Direct3D 9)