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) | Cull back face. |
[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 中的值。
言論
以陰影緩衝區為基礎的陰影的其中一個成品是「陰影瘡」(也就是,由於從陰影緩衝區中與陰影緩衝區中相同表面深度相比,在計算表面深度時不自覺,因此會以間歇性的方式遮蔽本身。 減輕陰影瘡的其中一種方法,就是在轉譯陰影緩衝區時,使用 DepthBias 和 SlopeScaledDepthBias 成員。 意圖是在轉譯陰影緩衝區時,將表面推送到足夠的表面。 在陰影測試期間,透過著色器計算的 z 來比較這些表面時,比較結果會在整個表面保持一致,並避免局部自我陰影。
不過,單獨使用 DepthBias 和 SlopeScaledDepthBias 可以引進一些成品。 例如,極其陡峭的多邊形會導致偏差方程式爆炸,這會將多邊形與陰影圖中的原始表面相距極遠。 考慮一個陡峭的臉,相對於光線,它被推開非常遠,相對於父對象的維度,通過深度偏差。 假設此臉部被較淺的臉部包圍,偏差方程式推出得少得多。 產生的陰影圖有一個巨大的不連續性,可能會導致陰影中的洞,由一個表面投射到另一個表面比爆炸的臉部更近。 協助緩解此特定問題的其中一種方法是使用 depthBiasClamp 成員 DepthBiasClamp,以提供應用程式可設定的上限(正值或負值)的 z 偏差大小。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows作系統中使用。 |
標頭 | d3d10umddi.h (包括 D3d10umddi.h) |