D3D11_RASTERIZER_DESC1 結構 (d3d11_1.h)
語法
typedef struct D3D11_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;
} D3D11_RASTERIZER_DESC1;
成員
FillMode
類型: D3D11_FILL_MODE
決定轉譯時要使用的填滿模式。
CullMode
類型: 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時,才適用。 如需此成員的詳細資訊,請參閱。
ForcedSampleCount
類型: UINT
UAV 轉譯或點陣化時強制的樣本計數。 有效值為 0、1、2、4、8 和選擇性 16。 0 表示不會強制取樣計數。
- 請勿系結深度樣板檢視。
- 停用深度測試。
- 確定著色器不會輸出深度。
- 如果您有任何轉譯目標檢視系 結 (D3D11_BIND_RENDER_TARGET) 且 ForcedSampleCount 大於 1,請確定每個轉譯目標只有單一樣本。
- 請勿以取樣頻率操作著色器。 因此, ID3D11ShaderReflection::IsSampleFrequencyShader 會傳回 FALSE。
備註
點陣化狀態會定義點陣化階段的行為。 若要建立點陣化狀態物件,請呼叫 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 |
MultisampleEnable和AntialiasedLineEnable成員的設定僅適用于多重取樣反鋸齒 (MSAA) 轉譯目標 (即轉譯樣本計數大於 1) 的目標。 由於 功能層級 行為的差異,而且只要您未執行任何線條繪製,或不考慮線條轉譯為四方方塊,建議您在每次在 MSAA 轉譯目標上轉譯時,一律將 MultisampleEnable 設定為 TRUE 。
規格需求
最低支援的用戶端 | 適用于 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | 適用于 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
標頭 | d3d11_1.h |