ID3D11DeviceContext::P SSetConstantBuffers 方法 (d3d11.h)
設定圖元著色器管線階段所使用的常數緩衝區。
語法
void PSSetConstantBuffers(
[in] UINT StartSlot,
[in] UINT NumBuffers,
[in, optional] ID3D11Buffer * const *ppConstantBuffers
);
參數
[in] StartSlot
類型: UINT
將索引編製到裝置的以零起始的陣列,以開始將常數緩衝區設定為從 0 (到 D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1) 的範圍。
[in] NumBuffers
類型: UINT
要設定 (範圍從 0 到 D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot) 的緩衝區數目。
[in, optional] ppConstantBuffers
類型: ID3D11Buffer*
(常數緩衝區的數位,請參閱提供給裝置的 ID3D11Buffer) 。
傳回值
無
備註
方法會保存傳入之介面的參考。 這與 Direct3D 10 中的裝置狀態行為不同。
Direct3D 11.1 運行時間可在 Windows 8 和更新版本的操作系統上使用,可將更多 ID3D11Buffer 資源系結至著色器,比著色器支援的最大常數緩衝區大小 (4096 常數 –每個) 4 個 32 位元件。當您系結這類大型緩衝區時,著色器只能存取緩衝區中的前 4096 4 個32 位元件常數,就像 4096 常數是緩衝區的完整大小一樣。
若要讓著色器存取緩衝區的其他部分,請呼叫 PSSetConstantBuffers1 ,而不是 PSSetConstantBuffers。 PSSetConstantBuffers1 有其他參數 pFirstConstant 和 pNumConstants。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d11.h |
程式庫 | D3D11.lib |