ID3D11DeviceContext::IASetVertexBuffers 方法 (d3d11.h)

將頂點緩衝區的陣列系結至 輸入組合器階段

語法

void IASetVertexBuffers(
  [in]           UINT         StartSlot,
  [in]           UINT         NumBuffers,
  [in, optional] ID3D11Buffer * const *ppVertexBuffers,
  [in, optional] const UINT   *pStrides,
  [in, optional] const UINT   *pOffsets
);

參數

[in] StartSlot

類型: UINT

系結的第一個輸入位置。 第一個頂點緩衝區明確系結至開始位置;這會導致陣列中的每個額外頂點緩衝區隱含地系結至每個後續的輸入位置。 最多 16 個或 32 個輸入位置 (範圍從 0 到 D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 個) 可用; 輸入位置的數目上限取決於功能層級

[in] NumBuffers

類型: UINT

陣列中的頂點緩衝區數目。 緩衝區數目 (加上起始位置) 不能超過從 0 到 D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot) 的 IA 階段輸入 (位置總數。

[in, optional] ppVertexBuffers

類型: ID3D11Buffer*

頂點緩衝區陣列的指標 (請參閱 ID3D11Buffer) 。 頂點緩衝區必須使用 D3D11_BIND_VERTEX_BUFFER 旗標建立。

[in, optional] pStrides

類型: const UINT*

跨步值陣列的指標;頂點緩衝區陣列中每個緩衝區的一個跨位值。 每個步幅都是要從該頂點緩衝區使用的元素) 位元組大小 (。

[in, optional] pOffsets

類型: const UINT*

位移值的陣列指標;頂點緩衝區陣列中每個緩衝區的一個位移值。 每個位移都是頂點緩衝區第一個專案與將使用的第一個元素之間的位元元數目。

傳回值

備註

如需建立頂點緩衝區的詳細資訊,請參閱 如何:建立頂點緩衝區

使用目前系結的緩衝區呼叫這個方法以寫入 (,也就是系結至數據流輸出管線階段) 會有效地系結 NULL ,因為緩衝區無法同時系結為輸入和輸出。

每當資源無法同時系結為輸入和輸出時,偵錯層將會產生警告,但這不會防止運行時間使用無效的數據。

方法會保存傳入之介面的參考。 這與 Direct3D 10 中的裝置狀態行為不同。

Windows Phone 8:支援此 API。

規格需求

需求
目標平台 Windows
標頭 d3d11.h
程式庫 D3D11.lib

另請參閱

ID3D11DeviceContext