struktur D3DHAL_DP2INDEXEDTRIANGLELIST (d3dhal.h)

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

Sintaks

typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST {
  WORD wV1;
  WORD wV2;
  WORD wV3;
  WORD wFlags;
} D3DHAL_DP2INDEXEDTRIANGLELIST, *LPD3DHAL_DP2INDEXEDTRIANGLELIST;

Anggota

wV1

Menentukan indeks ke lokasi buffer vertex yang berisi data koordinat untuk puncak pertama segitiga.

wV2

Menentukan indeks ke lokasi buffer vertex yang berisi data koordinat untuk puncak kedua segitiga.

wV3

Menentukan indeks ke lokasi buffer vertex yang berisi data koordinat untuk puncak ketiga segitiga.

wFlags

Menentukan bendera yang menjelaskan bagaimana driver harus merender segitiga. Anggota ini bisa menjadi bitwise ATAU dari nilai berikut:

Bendera Makna
D3DTRIFLAG_EDGEENABLE1 Driver harus merender tepi segitiga antara wV1 dan wV2 ketika mode pengisian D3DFILL_WIREFRAME.
D3DTRIFLAG_EDGEENABLE2 Driver harus merender tepi segitiga antara wV2 dan wV3 ketika mode pengisian D3DFILL_WIREFRAME.
D3DTRIFLAG_EDGEENABLE3 Driver harus merender tepi segitiga antara wV3 dan wV1 ketika mode pengisian D3DFILL_WIREFRAME.
D3DTRIFLAG_EDGEENABLETRIANGLE Driver harus merender semua tepi segitiga saat mode pengisian D3DFILL_WIREFRAME.

Keterangan

D3dDrawPrimitives2 harus memproses wPrimitiveCount * 3 indeks dari buffer perintah, memproses struktur D3DHAL_DP2INDEXEDTRIANGLELIST wPrimitiveCount . Nilai wPrimitiveCount ditentukan dalam struktur D3DHAL_DP2COMMAND.

Driver harus memproses total simpul wPrimitiveCount*3 dari buffer vertex, tiga simpul per segitiga, untuk perintah saat ini. Urutan segitiga yang dirender adalah (wV1₀, wV2₀, wV3₀), (wV1₁, wV2₁, wV3₁), ..., (wV1n, wV2n, wV3n), di mana n sama dengan (wPrimitiveCount- 1). Driver harus menghitung lokasi puncak berdasarkan perintah saat ini sebagai berikut:

  • Ketika perintah D3DDP2OP_INDEXEDTRIANGLELIST, indeks ke dalam buffer puncak relatif terhadap offset buffer vertex yang ditentukan oleh anggota dwVertexOffset dari struktur D3DHAL_DRAWPRIMITIVES2DATA .

  • Ketika perintah D3DDP2OP_INDEXEDTRIANGLELIST2, ada struktur D3DHAL_DP2STARTVERTEX yang segera mengikuti perintah dalam buffer perintah. Indeks ke dalam buffer vertex relatif terhadap offset buffer vertex yang ditentukan oleh dwVertexOffset ditambah offset dasar yang diperoleh dari anggota wVStart dari struktur D3DHAL_DP2STARTVERTEX.

Gambar berikut menunjukkan sebagian buffer perintah sampel yang berisi perintah D3DDP2OP_INDEXEDTRIANGLELIST dan dua struktur D3DHAL_DP2INDEXEDTRIANGLELIST. Driver harus menggambar dua segitiga âˆ' dengan semua tepi diaktifkan âˆ' menggunakan enam simpul berikut dari buffer puncak: (v[3], v[4], v[5]), (v[0], v[1], v[2]).

Gambar memperlihatkan buffer perintah dengan perintah D3DDP2OP_INDEXEDTRIANGLELIST dan dua struktur D3DHAL_DP2INDEXEDTRIANGLELIST Demikian pula, gambar berikut menunjukkan sebagian buffer perintah sampel yang berisi perintah D3DDP2OP_INDEXEDTRIANGLELIST2, offset D3DHAL_DP2STARTVERTEX, dan dua struktur D3DHAL_DP2INDEXEDTRIANGLELIST. Driver harus memproses enam simpul dari buffer puncak, merender dua segitiga yang ditentukan oleh (v[5], v[6], v[7]), (v[2], v[3], v[4]). Gambar memperlihatkan buffer dengan perintah D3DDP2OP_INDEXEDTRIANGLELIST2, offset D3DHAL_DP2STARTVERTEX, dan dua struktur D3DHAL_DP2INDEXEDTRIANGLELIST

Persyaratan

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

Lihat juga

D3DDP2OP_INDEXEDTRIANGLELIST

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2