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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk