D3D10_DDI_RASTERIZER_DESC 结构 (d3d10umddi.h)

D3D10_DDI_RASTERIZER_DESC结构描述光栅器状态。

语法

typedef struct D3D10_DDI_RASTERIZER_DESC {
  [in] D3D10_DDI_FILL_MODE FillMode;
  [in] D3D10_DDI_CULL_MODE CullMode;
  [in] BOOL                FrontCounterClockwise;
  [in] INT32               DepthBias;
  [in] FLOAT               DepthBiasClamp;
  [in] FLOAT               SlopeScaledDepthBias;
  [in] BOOL                DepthClipEnable;
  [in] BOOL                ScissorEnable;
  [in] BOOL                MultisampleEnable;
  [in] BOOL                AntialiasedLineEnable;
} D3D10_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) Cull 前脸。
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 中的值。

注解

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

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

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

CalcPrivateRasterizerStateSize

CreateRasterizerState