PFND3D11DDI_DRAWINSTANCEDINDIRECT fungsi panggilan balik (d3d10umddi.h)

Fungsi DrawInstancedIndirect menggambar instans tertentu dari primitif yang tidak diindeks.

Sintaks

PFND3D11DDI_DRAWINSTANCEDINDIRECT Pfnd3d11ddiDrawinstancedindirect;

void Pfnd3d11ddiDrawinstancedindirect(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HRESOURCE unnamedParam2,
  UINT unnamedParam3
)
{...}

Parameter

unnamedParam1

hDevice [in]

Handel ke perangkat tampilan (konteks grafis).

unnamedParam2

hBufferForArgs [in]

Handel ke buffer yang berisi argumen untuk diproses drawInstancedIndirect . Buffer berisi struktur yang dikemas dengan ketat berikut:

struct DrawInstancedIndirectArgs {
  UINT VertexCountPerInstance; 
  UINT InstanceCount;
  UINT StartVertexLocation;
  UINT StartInstanceLocation;
}

Untuk informasi selengkapnya tentang argumen ini, lihat halaman referensi DrawInstanced .

unnamedParam3

AlignedByteOffsetForArgs [in]

Offset, dalam byte, ke dalam buffer yang ditentukan hBufferForArgs . AlignedByteOffsetForArgs harus kelipatan empat.

Menampilkan nilai

Tidak ada

Keterangan

Driver dapat menggunakan fungsi panggilan balik pfnSetErrorCb untuk mengatur kode kesalahan.

Fungsi DrawInstancedIndirect melakukan tugas yang sama dengan panggilan ke fungsi DrawInstanced driver. Namun, DrawInstancedIndirect mendapatkan informasi tentang primitif yang tidak diindeks dari konten buffer yang ditentukan parameter hBufferForArgs . DrawInstancedIndirect membaca konten buffer, mulai dari offset byte yang ditentukan parameter AlignedByteOffsetForArgs .

Ketika runtime Direct3D memanggil fungsi CreateResource (D3D11) driver untuk membuat sumber daya buffer yang ditentukan parameter hBufferForArgs , runtime harus mengatur bendera D3D11_DDI_RESOURCE_MISC_DRAWINDIRECT_ARGS di anggota MiscFlags dari struktur D3D11DDIARG_CREATERESOURCE .

Driver tidak boleh mengalami kesalahan, kecuali untuk D3DDDIERR_DEVICEREMOVED. Oleh karena itu, jika driver melewati kesalahan apa pun, kecuali untuk D3DDDIERR_DEVICEREMOVED, dalam panggilan ke fungsi pfnSetErrorCb , runtime Direct3D menentukan bahwa kesalahan sangat penting. Bahkan jika perangkat dihapus, driver tidak diharuskan untuk mengembalikan D3DDDIERR_DEVICEREMOVED; namun, jika penghapusan perangkat mengganggu pengoperasian DrawInstancedIndirect (yang biasanya tidak boleh terjadi), driver dapat kembali D3DDDIERR_DEVICEREMOVED.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung DrawInstancedIndirect didukung dimulai dengan sistem operasi Windows 7.
Target Platform Desktop
Header d3d10umddi.h (termasuk D3d10umddi.h)

Lihat juga

CreateResource(D3D11)

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DrawInstanced

pfnSetErrorCb