Bagikan melalui


Metode IDirect3DDevice9::D rawIndexedPrimitive (d3d9.h)

Berdasarkan pengindeksan, merender primitif geometris yang ditentukan ke dalam array simpul.

Sintaks

HRESULT DrawIndexedPrimitive(
  [in] D3DPRIMITIVETYPE unnamedParam1,
  [in] INT              BaseVertexIndex,
  [in] UINT             MinVertexIndex,
  [in] UINT             NumVertices,
  [in] UINT             startIndex,
  [in] UINT             primCount
);

Parameter

[in] unnamedParam1

Jenis: D3DPRIMITIVETYPE

Anggota jenis enumerasi D3DPRIMITIVETYPE , yang menjelaskan jenis primitif yang akan dirender. D3DPT_POINTLIST tidak didukung dengan metode ini. Lihat Keterangan.

[in] BaseVertexIndex

Jenis: INT

Offset dari awal buffer vertex ke vertex pertama. Lihat Skenario 4.

[in] MinVertexIndex

Jenis: UINT

Indeks puncak minimum untuk simpul yang digunakan selama panggilan ini. Ini adalah indeks berbasis nol yang relatif terhadap BaseVertexIndex.

[in] NumVertices

Jenis: UINT

Jumlah simpul yang digunakan selama panggilan ini. Vertex pertama terletak di indeks: BaseVertexIndex + MinIndex.

[in] startIndex

Jenis: UINT

Indeks indeks pertama yang digunakan saat mengakses buffer vertex. Mulai dari StartIndex untuk mengindeks simpul dari buffer vertex.

[in] primCount

Jenis: UINT

Jumlah primitif yang akan dirender. Jumlah simpul yang digunakan adalah fungsi dari jumlah primitif dan jenis primitif. Jumlah maksimum primitif yang diizinkan ditentukan dengan memeriksa anggota MaxPrimitiveCount dari struktur D3DCAPS9 .

Menampilkan nilai

Jenis: HRESULT

Jika metode berhasil, nilai yang dikembalikan D3D_OK. Jika metode gagal, nilai yang dikembalikan bisa menjadi berikut: D3DERR_INVALIDCALL.

Keterangan

Metode ini menarik primitif terindeks dari kumpulan aliran input data saat ini. MinIndex dan semua indeks dalam aliran indeks relatif terhadap BaseVertexIndex.

Parameter MinIndex dan NumVertices menentukan rentang indeks vertex yang digunakan untuk setiap panggilan IDirect3DDevice9::D rawIndexedPrimitive . Ini digunakan untuk mengoptimalkan pemrosesan verteks primitif terindeks dengan memproses rentang simpul berurutan sebelum mengindeks ke simpul ini. Ini tidak valid untuk indeks apa pun yang digunakan selama panggilan ini untuk mereferensikan simpul apa pun di luar rentang ini.

IDirect3DDevice9::D rawIndexedPrimitive gagal jika tidak ada array indeks yang diatur.

Anggota D3DPT_POINTLIST dari jenis enumerasi D3DPRIMITIVETYPE tidak didukung dan bukan jenis yang valid untuk metode ini.

Saat mengonversi aplikasi warisan ke Direct3D 9, Anda harus menambahkan panggilan ke IDirect3DDevice9::SetFVF untuk menggunakan alur fungsi tetap, atau IDirect3DDevice9::SetVertexDeclaration untuk menggunakan shader vertex sebelum Anda melakukan panggilan Draw.

Persyaratan

   
Target Platform Windows
Header d3d9.h (termasuk D3D9.h)
Pustaka D3D9.lib

Lihat juga

IDirect3DDevice9

IDirect3DDevice9::D rawPrimitive

Buffer Indeks (Direct3D 9)

Penyajian dari Buffer Vertex dan Indeks (Direct3D 9)

Buffer Puncak (Direct3D 9)