CD3D11_RASTERIZER_DESC1 结构 (d3d11_1.h)
语法
struct CD3D11_RASTERIZER_DESC1 : D3D11_RASTERIZER_DESC1 {
void CD3D11_RASTERIZER_DESC1();
void CD3D11_RASTERIZER_DESC1(
const D3D11_RASTERIZER_DESC1 & o
);
void CD3D11_RASTERIZER_DESC1(
CD3D11_DEFAULT unnamedParam1
);
void CD3D11_RASTERIZER_DESC1(
D3D11_FILL_MODE fillMode,
D3D11_CULL_MODE cullMode,
BOOL frontCounterClockwise,
INT depthBias,
FLOAT depthBiasClamp,
FLOAT slopeScaledDepthBias,
BOOL depthClipEnable,
BOOL scissorEnable,
BOOL multisampleEnable,
BOOL antialiasedLineEnable,
UINT forcedSampleCount
);
void ~CD3D11_RASTERIZER_DESC1();
};
继承
CD3D11_RASTERIZER_DESC1 结构实现D3D11_RASTERIZER_DESC1。
成员
void CD3D11_RASTERIZER_DESC1()
void CD3D11_RASTERIZER_DESC1( const D3D11_RASTERIZER_DESC1 & o)
void CD3D11_RASTERIZER_DESC1( CD3D11_DEFAULT unnamedParam1)
void CD3D11_RASTERIZER_DESC1( D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode, BOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias, BOOL depthClipEnable, BOOL scissorEnable, BOOL multisampleEnable, BOOL antialiasedLineEnable, UINT forcedSampleCount)
void ~CD3D11_RASTERIZER_DESC1()
注解
AntialiasedLineEnable
类型: BOOL
指定是否启用行抗锯齿;仅当执行线条绘制且 MultisampleEnable 为 FALSE 时才适用。 有关此成员的详细信息,请参阅备注。
CullMode
类型: D3D11_CULL_MODE
指示不绘制面向指定方向的三角形。
DepthBias
类型: INT
添加到给定像素的深度值。 有关深度偏差的信息,请参阅 深度偏差。
DepthBiasClamp
类型: 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 剪辑时,模具阴影实现将得到简化。 换句话说,可以避免对超出后退剪裁平面的几何图形进行复杂的特殊情况处理。
FillMode
类型: D3D11_FILL_MODE
确定呈现时要使用的填充模式。
ForcedSampleCount
类型: UINT
UAV 呈现或光栅化时强制的样本计数。 有效值为 0、1、2、4、8 和可选 16。 0 表示样本计数不是强制的。
- 不要绑定深度模具视图。
- 禁用深度测试。
- 确保着色器不输出深度。
- 如果有任何呈现目标视图绑定 (D3D11_BIND_RENDER_TARGET) 且 ForcedSampleCount 大于 1,请确保每个呈现目标只有一个示例。
- 不要以采样频率操作着色器。 因此, ID3D11ShaderReflection::IsSampleFrequencyShader 返回 FALSE。
FrontCounterClockwise
类型: BOOL
指定三角形是正面还是向后。 如果 为 TRUE,则如果三角形顶点在呈现目标上逆时针,则三角形被视为正面;如果顶点顺时针,则被视为朝后。 如果 为 FALSE,则相反。
MultisampleEnable
类型: BOOL
指定是在多采样抗锯齿 (MSAA) 呈现目标上使用四边形还是 alpha 线抗锯齿算法。 设置为 TRUE 以使用四边线抗锯齿算法,设置为 FALSE 以使用 alpha 行抗锯齿算法。 有关此成员的详细信息,请参阅备注。
ScissorEnable
类型: BOOL
指定是否启用剪刀矩形剔除。 活动剪刀矩形之外的所有像素都会被剔除。
SlopeScaledDepthBias
类型: FLOAT
给定像素斜率上的标量。 有关深度偏差的信息,请参阅 深度偏差。
光栅器状态定义光栅器阶段的行为。 若要创建光栅器状态对象,请调用 ID3D11Device1::CreateRasterizerState1。 若要设置光栅器状态,请调用 ID3D11DeviceContext::RSSetState。
如果未指定某些光栅器状态,Direct3D 运行时将使用以下默认值来表示光栅器状态。
状态 | 默认值 |
---|---|
FillMode | 单色 |
CullMode | 返回 |
FrontCounterClockwise | FALSE |
DepthBias | 0 |
SlopeScaledDepthBias | 0.0f |
DepthBiasClamp | 0.0f |
DepthClipEnable | TRUE |
ScissorEnable | FALSE |
MultisampleEnable | FALSE |
AntialiasedLineEnable | FALSE |
ForcedSampleCount | 0 |
线条呈现算法 | MultisampleEnable | AntialiasedLineEnable |
---|---|---|
锯齿 | FALSE | FALSE |
Alpha 抗锯齿 | FALSE | TRUE |
四边形 | TRUE | FALSE |
四边形 | TRUE | TRUE |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | 适用于 Windows Server 2008 R2 的Windows Server 2012和平台更新 [桌面应用 |UWP 应用] |
标头 | d3d11_1.h |