Bagikan melalui


METODE ID3DX10Mesh::D rawSubsetInstanced

Gambar beberapa instans dari subset jala yang sama.

Sintaks

HRESULT DrawSubsetInstanced(
  [in] UINT AttribId,
  [in] UINT InstanceCount,
  [in] UINT StartInstanceLocation
);

Parameter

AttribId [in]

Jenis: UINT

Menentukan subset jala mana yang akan digambar. Nilai ini digunakan untuk membedakan wajah dalam jala sebagai milik satu atau beberapa grup atribut. Lihat komentar.

InstanceCount [in]

Jenis: UINT

Jumlah instans yang akan dirender.

StartInstanceLocation [in]

Jenis: UINT

Instans mana yang akan mulai diambil di setiap buffer yang ditandai sebagai data instans.

Menampilkan nilai

Jenis: HRESULT

Nilai yang dikembalikan adalah salah satu nilai yang tercantum dalam Direct3D 10 Return Codes.

Keterangan

Jala berisi tabel atribut. Tabel atribut dapat membagi jala menjadi subset, di mana setiap subset diidentifikasi dengan ID atribut. Misalnya, jala dengan 200 wajah, dibagi menjadi tiga subset, mungkin memiliki tabel atribut yang terlihat seperti ini:

Subset Wajah
AttribID 0 Wajah 0 ~ 50
AttribID 1 Wajah 51 ~ 125
AttribID 2 Wajah 126 ~ 200

 

Instancing dapat memperluas performa dengan menggunakan kembali geometri yang sama untuk menggambar beberapa objek dalam adegan. Salah satu contoh instancing bisa untuk menggambar objek yang sama dengan posisi dan warna yang berbeda. Pengindeksan memerlukan beberapa buffer vertex: setidaknya satu untuk data per vertex dan buffer kedua untuk data per instans.

Menggambar instans dengan DrawSubsetInstanced sangat mirip dengan proses yang digunakan dengan ID3D10Device::D rawIndexedInstanced yang diuraikan dalam Sampel Instancing. Perbedaan utama saat menggunakan DrawSubsetInstanced adalah bahwa puncak dan buffer indeks harus diekstraksi dari objek Antarmuka ID3DX10Mesh sebelum data instancing dapat digabungkan.

Kode berikut mengilustrasikan mengekstrak puncak dan buffer indeks dari objek jala.

      ID3D10Buffer* vertexBuffer;
      pDeviceObj->pMesh->GetDeviceVertexBuffer(0, &vertexBuffer);
      ID3D10Buffer* indexBuffer;
      pDeviceObj->pMesh->GetDeviceIndexBuffer(&indexBuffer);
      

Persyaratan

Persyaratan Nilai
Header
D3DX10.h
Pustaka
D3DX10.lib

Lihat juga

ID3DX10Mesh

Antarmuka D3DX