Metode ID3D11DeviceContext::P SSetConstantBuffers (d3d11.h)
Mengatur buffer konstanta yang digunakan oleh tahap alur piksel shader.
Sintaks
void PSSetConstantBuffers(
[in] UINT StartSlot,
[in] UINT NumBuffers,
[in, optional] ID3D11Buffer * const *ppConstantBuffers
);
Parameter
[in] StartSlot
Jenis: UINT
Indeks ke dalam array berbasis nol perangkat untuk mulai mengatur buffer konstanta ke (berkisar dari 0 hingga D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1).
[in] NumBuffers
Jenis: UINT
Jumlah buffer yang akan diatur (berkisar dari 0 hingga D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot).
[in, optional] ppConstantBuffers
Jenis: ID3D11Buffer*
Array buffer konstanta (lihat ID3D11Buffer) yang diberikan ke perangkat.
Nilai kembali
Tidak ada
Keterangan
Metode ini akan menyimpan referensi ke antarmuka yang diteruskan. Ini berbeda dari perilaku status perangkat di Direct3D 10.
Runtime Direct3D 11.1, yang tersedia pada sistem operasi Windows 8 dan yang lebih baru, dapat mengikat sejumlah besar sumber daya ID3D11Buffer ke shader daripada ukuran buffer konstan maksimum yang didukung oleh shader (masing-masing konstanta 4096 –komponen 4 32-bit). Ketika Anda mengikat buffer besar seperti itu, shader hanya dapat mengakses konstanta komponen 4096 432-bit pertama dalam buffer, seolah-olah konstanta 4096 adalah ukuran penuh buffer.
Untuk mengaktifkan shader untuk mengakses bagian lain dari buffer, panggil PSSetConstantBuffers1 alih-alih PSSetConstantBuffers. PSSetConstantBuffers1 memiliki parameter tambahan pFirstConstant dan pNumConstants.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d11.h |
Pustaka | D3D11.lib |