D3D11_1_DDI_RASTERIZER_DESC 结构 (d3d10umddi.h)

描述光栅器状态。 由 Windows 显示驱动程序模型 (WDDM) 1.2 及更高版本的用户模式显示驱动程序使用。

语法

typedef struct D3D11_1_DDI_RASTERIZER_DESC {
  [in] D3D10_DDI_FILL_MODE FillMode;
  [in] D3D10_DDI_CULL_MODE CullMode;
  [in] BOOL                FrontCounterClockwise;
  [in] INT                 DepthBias;
  [in] FLOAT               DepthBiasClamp;
  [in] FLOAT               SlopeScaledDepthBias;
  [in] BOOL                DepthClipEnable;
  [in] BOOL                ScissorEnable;
  [in] BOOL                MultisampleEnable;
  [in] BOOL                AntialiasedLineEnable;
  [in] UINT                ForcedSampleCount;
} D3D11_1_DDI_RASTERIZER_DESC;

成员

[in] FillMode

一个 值,该值指定基元的填充模式。 此成员必须设置为D3D10_DDI_FILL_MODE枚举中的以下值之一。

含义
D3D10_DDI_FILL_WIREFRAME (2) 填充线框。
D3D10_DDI_FILL_SOLID (3) 填充实心。

[in] CullMode

一个 值,该值指定如何剔除朝后三角形(如果有)。 此成员必须设置为 D3D10_DDI_CULL_MODE 枚举中的以下值之一。

含义
D3D10_DDI_CULL_NONE (1) 不要剔除任何三角形。
D3D10_DDI_CULL_FRONT (2) 剔除正面。
D3D10_DDI_CULL_BACK (3) 剔除背部的脸。

[in] FrontCounterClockwise

一个布尔值,指定相对于光栅器) 按逆时针顺序提供的顶点 (是否正面。 TRUE 表示它们是; FALSE 指示逆时针顶点指示朝后。

[in] DepthBias

用于偏差公式的深度偏差常量。 有关 DepthBias 的详细信息,请参阅“备注”部分。

[in] DepthBiasClamp

用于偏置公式的单精度浮点向量。 有关 DepthBiasClamp 的详细信息,请参阅“备注”部分。

[in] SlopeScaledDepthBias

用于偏置公式的单精度浮点向量。 有关 SlopeScaledDepthBias 的详细信息,请参阅“备注”部分。

[in] DepthClipEnable

一个布尔值,指定驱动程序是否应根据视区深度范围剪裁顶点 z 坐标。 TRUE 指示要剪辑; FALSE 指示不剪辑。

[in] ScissorEnable

一个布尔值,指定驱动程序是否应放弃位于相应剪刀矩形区域之外的像素。 TRUE 指示放弃; FALSE 指示不放弃。

[in] MultisampleEnable

一个布尔值,指定驱动程序是否必须遵循多重采样光栅化规则。 TRUE 指示遵循规则; FALSE 表示不需要遵循规则。 即使呈现目标仅包含一个样本,多采样光栅化规则也保持 true。

[in] AntialiasedLineEnable

一个布尔值,指定驱动程序是否应呈现遵循抗锯齿线光栅化规则的线条。 TRUE 指示遵循规则; FALSE 表示不需要遵循规则。 如果改用多采样光栅化规则,驱动程序将忽略 AntialiasedLineEnable 中的值。

[in] ForcedSampleCount

在呈现无序访问视图 (UAV) 或呈现目标视图 (RTV) 期间,指定是否强制采样计数,如果是,则指定最大样本计数。 有效值为 0、1、4、8 和 16。

如果为零,则驱动程序不应强制采样计数。

注解

具有基于阴影缓冲区的阴影的项目之一是“阴影粉刺” (即,由于从着色器计算表面深度时不精确,因此以间歇性的方式隐藏自身的表面,该着色器与阴影缓冲区) 中同一表面的深度进行比较。 缓解阴影痤疮的一种方法是在渲染阴影缓冲区时使用 DepthBiasSlopeScaledDepthBias 成员。 目的是在呈现阴影缓冲区时将表面推出足够多。 在阴影测试期间,通过着色器计算的 z 将这些图面与自身进行比较时,比较结果在整个图面上是一致的,并避免局部自阴影。

但是,仅使用 DepthBiasSlopeScaledDepthBias 可能会引入一些项目。 例如,极其陡峭的多边形会导致偏置方程爆炸,从而将多边形推离阴影贴图中原始表面的极远。 考虑一个陡峭的面,相对于光,通过深度偏差推开与父对象的尺寸非常远。 假设此面被偏置等式所推出的较浅的面所包围。 生成的阴影贴图具有巨大的不连续性,这可能会导致阴影中的孔,由一个表面投射到另一个比爆炸面更近的表面。 帮助缓解此特定问题的一种方法是使用 DepthBiasClamp 成员,该成员提供应用程序可设置的上限 (z 偏差幅度的正) 或负值。

要求

要求
最低受支持的客户端 Windows 8
最低受支持的服务器 Windows Server 2012
标头 d3d10umddi.h (包括 D3d10umddi.h)