共用方式為


ID3D11DeviceContext1::HSGetConstantBuffers1 方法 (d3d11_1.h)

取得 殼層著色器階段 所使用的常數緩衝區。

語法

void HSGetConstantBuffers1(
  [in]            UINT         StartSlot,
  [in]            UINT         NumBuffers,
  [out, optional] ID3D11Buffer **ppConstantBuffers,
  [out, optional] UINT         *pFirstConstant,
  [out, optional] UINT         *pNumConstants
);

參數

[in] StartSlot

索引到裝置的以零起始的陣列,以開始從0到 D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1) (範圍擷取常數緩衝區。

[in] NumBuffers

要擷取 (範圍從0到 D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT的緩衝區數目 - StartSlot) 。

[out, optional] ppConstantBuffers

方法要傳回之常數緩衝區介面指標的陣列。

[out, optional] pFirstConstant

陣列的指標,這個陣列會接收 ppConstantBuffers 所指定之緩衝區中的位移。 每個位移都會指定從著色器的觀點開始每個常數緩衝區的位置。 每個位移都是以著色器常數測量,這些常數是 16 個字節, (4*32 位元件) 。 因此,位移為 2 表示相關聯常數緩衝區的開頭是常數緩衝區的 32 個字節。 如果緩衝區沒有位移,運行時間會將 pFirstConstant 設定為 NULL

[out, optional] pNumConstants

陣列的指標,這個陣列會接收 ppConstantBuffers 所指定之緩衝區中的常數數目。 每個數位都會指定著色器使用之常數緩衝區中包含的常數數目。 每個常數數目都會從 pFirstConstant 陣列中指定的個別位移開始。 如果運行時間未指定每個緩衝區中的常數數目,則運行時間會將 pNumConstants 設定為 NULL

傳回值

備註

如果位置上沒有系結任何緩衝區, 則 pFirstConstAntpNumConstants 是該位置的 NULL

規格需求

需求
最低支援的用戶端 適用於 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 適用於 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 d3d11_1.h
程式庫 D3D11.lib

另請參閱

ID3D11DeviceContext1