D3D11_RASTERIZER_DESC 结构 (d3d11.h)
描述光栅器状态。
语法
typedef struct D3D11_RASTERIZER_DESC {
D3D11_FILL_MODE FillMode;
D3D11_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL ScissorEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
} D3D11_RASTERIZER_DESC;
成员
FillMode
类型: D3D11_FILL_MODE
确定呈现 (看到 D3D11_FILL_MODE) 时使用的填充模式。
CullMode
类型: D3D11_CULL_MODE
指示不绘制面向指定方向的三角形, (查看 D3D11_CULL_MODE) 。
FrontCounterClockwise
类型: BOOL
确定三角形是正面还是背面。 如果此参数为 TRUE,则三角形的顶点在呈现器目标上逆时针时被视为正面,如果顶点顺时针,则被视为朝后。 如果此参数为 FALSE,则相反为 true。
DepthBias
类型: INT
添加到给定像素的深度值。 有关深度偏差的信息,请参阅 深度偏差。
DepthBiasClamp
类型: FLOAT
像素的最大深度偏差。 有关深度偏差的信息,请参阅 深度偏差。
SlopeScaledDepthBias
类型: FLOAT
给定像素斜率上的标量。 有关深度偏差的信息,请参阅 深度偏差。
DepthClipEnable
类型: BOOL
启用基于距离的剪裁。
硬件始终执行光栅化坐标的 x 和 y 剪裁。 当 DepthClipEnable 设置为 default–TRUE 时,硬件还会剪裁 z 值 (即,硬件) 执行以下算法的最后一步。
0 < w
-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
0 <= z <= w
将 DepthClipEnable 设置为 FALSE 时,硬件会跳过 z 剪裁 (即,上述算法中的最后一步) 。 但是,硬件仍执行“0 < w”剪裁。 禁用 z 剪裁时,可能会导致像素级别的深度排序不正确。 但是,当禁用 z 剪裁时,模具阴影实现将简化。 换句话说,可以避免对超出反向剪裁平面的几何图形进行复杂的特殊情况处理。
ScissorEnable
类型: BOOL
启用剪刀矩形剔除。 将剔除活动剪刀矩形之外的所有像素。
MultisampleEnable
类型: BOOL
指定在多重采样抗锯齿 (MSAA) 呈现目标上使用四边形或 alpha 线抗锯齿算法。 设置为 TRUE 以使用四边形线抗锯齿算法,设置为 FALSE 以使用 alpha 线抗锯齿算法。 有关此成员的详细信息,请参阅备注。
AntialiasedLineEnable
类型: BOOL
指定是否启用行抗锯齿;仅当进行线条绘制且 MultisampleEnable 为 FALSE 时适用。 有关此成员的详细信息,请参阅备注。
注解
光栅器状态定义光栅器阶段的行为。 若要创建光栅器状态对象,请调用 ID3D11Device::CreateRasterizerState。 若要设置光栅器状态,请调用 ID3D11DeviceContext::RSSetState。
如果未指定某些光栅器状态,则 Direct3D 运行时对光栅器状态使用以下默认值。
状态 | 默认值 |
---|---|
FillMode | 单色 |
CullMode | 返回 |
FrontCounterClockwise | FALSE |
DepthBias | 0 |
SlopeScaledDepthBias | 0.0f |
DepthBiasClamp | 0.0f |
DepthClipEnable | TRUE |
ScissorEnable | FALSE |
MultisampleEnable | FALSE |
AntialiasedLineEnable | FALSE |
线条呈现算法 | MultisampleEnable | AntialiasedLineEnable |
---|---|---|
锯齿 | FALSE | FALSE |
Alpha 抗锯齿 | FALSE | TRUE |
四边形 | TRUE | FALSE |
四边形 | TRUE | TRUE |
MultisampleEnable 和 AntialiasedLineEnable 成员的设置仅适用于多重采样抗锯齿 (MSAA) 呈现目标 (即,呈现样本计数大于 1) 的目标。 由于 功能级别 行为存在差异,并且只要不执行任何线条绘制或不介意线条呈现为四边形,我们建议每当在 MSAA 呈现目标上呈现时,始终将 MultisampleEnable 设置为 TRUE 。
要求
要求 | 值 |
---|---|
Header | d3d11.h |