CD3D11_RASTERIZER_DESC1 結構 (d3d11_1.h)

注意Direct3D 11.1 執行時間支援此結構,可在 Windows 8 和更新版本的操作系統上使用。
 
描述點陣化狀態。

Syntax

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

指定是否啟用行反鋸齒;只有在執行線條繪圖和 MultisampleEnableFALSE 時,才適用。 如需此成員的詳細資訊,請參閱。

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 表示不會強制取樣計數。

注意 如果您想要使用 ForcedSampleCount 設定為 1 或更新版本進行轉譯,您必須遵循下列指導方針:否則,轉譯行為未定義。 如需如何設定深度樣板的詳細資訊,請參閱 設定 Depth-Stencil 功能
 

FrontCounterClockwise

類型: BOOL

指定三角形為正面或反向。 如果 為 TRUE,則如果頂點在轉譯目標上是反順時針,則會將其三角形視為正面,如果其為順時針,則會將其視為回溯。 如果 為 FALSE,則相反為 true。

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
注意 針對 功能層級 9.1、9.2、9.3 和 10.0,如果您將 MultisampleEnable 設定為 FALSE,運行時間會轉譯所有點、線條和三角形,即使樣本計數大於 1 的轉譯目標也一樣。 對於功能層級 10.1 和更新版本, MultisampleEnable 的設定不會影響 MSAA 的點和三角形,而且只會影響選取線條轉譯演算法,如下表所示:
 
線條轉譯演算法 MultisampleEnable AntialiasedLineEnable
鋸齒 FALSE FALSE
Alpha 反鋸齒 FALSE TRUE
四邊形 TRUE FALSE
四邊形 TRUE TRUE
  MultisampleEnableAntialiasedLineEnable 成員的設定僅適用於多重取樣反鋸齒 (MSAA) 轉譯目標 (即轉譯樣本計數大於 1) 的目標。 由於 功能層級 行為的差異,而且只要您未執行任何線條繪圖,或不考慮線條轉譯為四邊形,建議您在每次在 MSAA 轉譯目標上轉譯時,一律將 MultisampleEnable 設定為 TRUE

規格需求

需求
最低支援的用戶端 適用於 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 適用於 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式]
標頭 d3d11_1.h

另請參閱

核心結構