struktur D3DHAL_DP2INDEXEDTRIANGLESTRIP (d3dhal.h)

Satu atau beberapa struktur D3DHAL_DP2INDEXEDTRIANGLESTRIP diurai dari buffer perintah oleh panggilan balik D3dDrawPrimitives2 ketika anggota bCommand struktur D3DHAL_DP2COMMAND diatur ke D3DDP2OP_INDEXEDTRIANGLESTRIP, dan digunakan untuk merender strip segitiga yang terhubung menggunakan indeks vertex.

Sintaks

typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
  WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLESTRIP, *LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;

Anggota

wV[3]

Menentukan indeks ke dalam buffer vertex yang berisi data koordinat untuk puncak pertama dari strip segitiga.

Meskipun anggota ini hanya memiliki cukup ruang untuk berisi tiga indeks, array indeks ini harus diperlakukan sebagai array berukuran variabel dengan elemen (wPrimitiveCount + 2). (wPrimitiveCount adalah anggota struktur D3DHAL_DP2COMMAND.)

Keterangan

D3dDrawPrimitives2 harus memproses (wPrimitiveCount+2) indeks dari buffer perintah, berlaku, memproses struktur D3DHAL_DP2INDEXEDTRIANGLESTRIP wPrimitiveCount .

Tepi segitiga dalam strip segitiga dirender dalam urutan ini: (wV[0], wV[1], wV[2]), (wV[1], wV[3], wV[2]), (wV[2], wV[3], wV[4]), (wV[3], wV[5], wV[4]),...

Namun, untuk segitiga terakhir di strip segitiga, tepi dirender dalam urutan yang berbeda ketika wPrimitiveCountt ganjil dan kapan genap.

  • Ketika wPrimitiveCount adalah angka ganjil, tepi segitiga terakhir dirender dalam urutan ini: (wV[wPrimitiveCount - 1], wV[wPrimitiveCount], wV[wPrimitiveCount+ 1]).
  • Ketika wPrimitiveCount adalah angka genap, tepi segitiga terakhir dirender dalam urutan ini: (wV[wPrimitiveCount- 1], wV[wPrimitiveCount+1], wV[wPrimitiveCount).
Struktur D3DHAL_DP2STARTVERTEX segera mengikuti perintah di buffer perintah. Indeks buffer vertex relatif terhadap offset buffer vertex yang ditentukan oleh anggota dwVertexOffset dari struktur D3DHAL_DRAWPRIMITIVES2DATA ditambah offset dasar yang diperoleh dari anggota wVStart dari struktur D3DHAL_DP2STARTVERTEX.

Gambar berikut menunjukkan sebagian buffer perintah sampel yang berisi perintah D3DDP2OP_INDEXEDTRIANGLESTRIP, offset D3DHAL_DP2STARTVERTEX nol, dan daftar logis struktur D3DHAL_DP2INDEXEDTRIANGLESTRIP. Driver harus memproses lima simpul dari buffer puncak, merender strip tiga segitiga yang ditentukan oleh (v[1], v[3], v[6]), (v[3], v[4], v[6]), (v[6], v[4], v[5]).

Gambar memperlihatkan buffer dengan perintah D3DDP2OP_INDEXEDTRIANGLESTRIP, offset D3DHAL_DP2STARTVERTEX nol, dan daftar logis struktur D3DHAL_DP2INDEXEDTRIANGLESTRIP

Persyaratan

Persyaratan Nilai
Header d3dhal.h (termasuk D3dhal.h)

Lihat juga

D3DDP2OP_INDEXEDTRIANGLESTRIP

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2