光栅器阶段

光栅化阶段将矢量信息(由形状或基元构成)转换为光栅图像(由像素构成)以便显示实时 3D 图形。

在光栅化期间,每个基元将转换为像素,同时跨每个基元内插每顶点值。 光栅化包括将剪裁顶点以呈现视锥、执行被 z 除运算以提供视角、将基元映射到 2D 视口以及决定如何调用像素着色器。 虽然使用像素着色器是可选操作,但光栅化阶段始终执行剪裁(一种将点转换为齐性空间的透视分隔)并将顶点映射到视口。

进入光栅器阶段的顶点 (x,y,z,w) 假定位于同质剪辑空间中。 在此坐标空间里,X 轴指向右,Y 轴指向上,Z 轴指向与摄像机相反的方向。

可以通过告知管道没有像素着色器来禁用光栅化, (ID3D11DeviceContext::P SSetShader) 将像素着色器阶段设置为 NULL,并在D3D11_DEPTH_STENCIL_DESC) 中禁用深度和模具测试 (将 DepthEnableStencilEnable 设置为 FALSE。 禁用后,与光栅化有关的管道计数器将无法更新。 还有 光栅化规则的完整说明。

在实现分层 Z 缓冲区优化的硬件上,可以通过将像素着色器阶段设置为 NULL 来启用预加载 z 缓冲区,同时启用深度和模具测试。

在本节中

主题 说明
使用光栅器阶段入门
本部分介绍如何设置视区、剪刀矩形、光栅器状态和多重采样。
光栅化规则
光栅化规则定义矢量数据如何映射到光栅数据。 光栅数据贴靠到会进行剔除和裁剪的整数位置(以绘制最低像素数量),并在传递到像素着色器之前对每像素属性进行插值(从每顶点属性)。

图形管道

管道阶段 (Direct3D 10)