Bagikan melalui


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

Lihat juga

ID3D11DeviceContext