ID3D11DeviceContext::RSSetViewports 方法 (d3d11.h)

将视区数组绑定到管道的光栅器阶段。

语法

void RSSetViewports(
  [in]           UINT                 NumViewports,
  [in, optional] const D3D11_VIEWPORT *pViewports
);

参数

[in] NumViewports

类型: UINT

要绑定的视区数。

[in, optional] pViewports

类型: const D3D11_VIEWPORT*

要绑定到设备的 D3D11_VIEWPORT 结构的数组。 有关视区大小如何依赖于在 Direct3D 11 和 Direct3D 10 之间更改的设备功能级别的详细信息,请参阅结构页。

返回值

备注

所有视区都必须以原子方式设置为一个操作。 调用未定义的任何视区都将被禁用。

要使用的视区由几何着色器 SV_ViewportArrayIndex 语义输出确定;如果几何着色器未指定语义,Direct3D 将使用数组中的第一个视区。

注意尽管在调用 ID3D11DeviceContext::RSSetViewports 时为功能级别9_xpViewports 数组的 D3D11_VIEWPORT 结构成员指定浮点值,但 RSSetViewports 内部使用 DWORD。 由于此行为,当对视区使用负左上角时,对 功能级别的 RSSetViewports 的调用9_x失败。 发生此失败的原因是,9_x的 RSSetViewports 在没有验证的情况下将浮点值强制转换为无符号整数,从而导致整数溢出。
 

要求

要求
目标平台 Windows
标头 d3d11.h
Library D3D11.lib

另请参阅

ID3D11DeviceContext