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

数组中的顶点缓冲区数。 (缓冲区数加上起始槽) 不能超过 IA 阶段输入槽的总数, (范围从 0 到 D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot) 。

[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
Library D3D11.lib

另请参阅

ID3D11DeviceContext