D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT 結構 (d3d11.h)
注意Direct3D 11.1 執行時間支援此結構,可在 Windows 8 和更新版本的操作系統上使用。
語法
typedef struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT {
BOOL SupportsDepthAsTextureWithLessEqualComparisonFilter;
} D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT;
成員
SupportsDepthAsTextureWithLessEqualComparisonFilter
指定驅動程式是否支援陰影功能,並將比較篩選模式設定為小於或等於。 運行時間會將 Direct3D 10 和更高功能層級的硬體設為 TRUE。 針對 Direct3D 9.3 和更低功能層級的硬體,運行時間只有在硬體和驅動程式支援陰影功能時,才會將此成員設定為 TRUE ;否則 為 FALSE。
備註
陰影是實際 3D 場景中的重要元素。 您可以使用陰影緩衝區技術來轉譯陰影。 技術的基本準則是使用深度緩衝區,從光源的角度儲存場景深度資訊,然後比較場景中呈現的每個點與該緩衝區,以判斷它是否處於陰影中。
若要以陰影將對象轉譯到場景中,您可以建立具有比較篩選集的 取樣器狀態物件 ,並將比較模式 (ComparisonFunc) 為 LessEqual。 您也可以在此深度取樣器上設定 BorderColor 尋址,即使 功能層級 9.1 和 9.2 通常不允許 BorderColor。 藉由使用框線色彩,並挑選 0.0 或 1.0 做為框線色彩值,您可以控制陰影地圖邊緣的區域是否一律位於陰影中,或永遠不會分別出現在陰影中。 您可以透過比較取樣器中的 Mag 和 Min 篩選設定來控制陰影篩選品質。 點取樣會產生具有非反別名邊緣的陰影。 線性篩選取樣器設定會導致品質較高的陰影邊緣,但可能會影響某些電源優化裝置上的效能。
注意 如果您使用Mag與Min篩選選項的個別設定,則會產生未定義的結果。 不支援異向性篩選。 Mip 篩選選擇不相關,因為 功能層級 9.x 不允許誤用深度緩衝區。
注意 在 功能層級 9.x 上,您無法使用舊版編譯程式,使用 SampleCmp 和 SampleCmpLevelZero 內部函數編譯著色器。 例如,您無法使用隨附於 DirectX SDK 的fxc.exe 編譯程式,或使用 D3DCompile** 函式 (,例如在 D3DCompiler_43.dll 和更早版本中實作的 D3DCompileFromFile) 。 功能層級 9.x 上的這些內建函式僅支援 fxc.exe 編譯程式隨附於 Windows 8 SDK 和更新版本,以及 D3DCompiler_44.dll 和更新版本中實作的 D3DCompile** 函式。
但是,這些內部函數存在於高於 9.x 的功能層級著色器模型中。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | 適用於 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
標頭 | d3d11.h |