D3D11_FEATURE_DATA_D3D9_OPTIONS1 結構 (d3d11.h)
語法
typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 {
BOOL FullNonPow2TextureSupported;
BOOL DepthAsTextureWithLessEqualComparisonFilterSupported;
BOOL SimpleInstancingSupported;
BOOL TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported;
} D3D11_FEATURE_DATA_D3D9_OPTIONS1;
成員
FullNonPow2TextureSupported
指定驅動程式是否支援非無條件的 2-無條件功能。 如需此功能的詳細資訊,請參閱 功能層級。 運行時間會將 Direct3D 10 和更高功能層級的硬體設為 TRUE 。 針對 Direct3D 9.3 和更低功能層級的硬體,如果硬體和驅動程式支援 2 (2D 紋理的電源,運行時間會將此成員設定為 FALSE ,且寬度和高度必須指定為兩個) 功能或非電源的 2 個條件式功能。
DepthAsTextureWithLessEqualComparisonFilterSupported
指定驅動程式是否支援陰影功能,並將比較篩選模式設定為小於或等於。 運行時間會將 Direct3D 10 和更高功能層級的硬體設為 TRUE。 針對 Direct3D 9.3 和更低功能層級的硬體,運行時間只有在硬體和驅動程式支援陰影功能時,才會將此成員設定為 TRUE ;否則 為 FALSE。
SimpleInstancingSupported
指定硬體和驅動程式是否支援簡單的實例。 如果硬體和驅動程式支援簡單的實例,運行時間會將此成員設定為 TRUE 。
TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported
指定硬體和驅動程式是否支援將 TextureCube 的單一臉部設定為轉譯目標,而系結的深度樣板表面可以是 Texture2D (,而不是 TextureCube) 。 如果硬體和驅動程式支援此功能,運行時間會將此成員設定為 TRUE ;否則 為 FALSE。
如果硬體和驅動程式不支援此功能,應用程式必須符合轉譯目標介面類型與深度樣板介面類型。 因為 Direct3D 9.3 和較低 功能層級 的硬體不允許 TextureCube 深度表面,所以將場景轉譯成 TextureCube ,同時啟用深度緩衝的唯一方式是將每個 TextureCube 臉部分別轉譯至 Texture2D 轉譯目標 (,因為這可以與 Texture2D 深度比對) ,然後將結果複製到 TextureCube。 如果硬體和驅動程式支援此功能,應用程式可以直接轉譯至 TextureCube 臉部,同時從 Texture2D 深度緩衝區取得深度緩衝。
您只需要從 Direct3D 9.3 的硬體和較低的 功能層級 查詢這項功能,因為 Direct3D 10.0 和更高功能層級的硬體允許 TextureCube 深度表面。
備註
您可以使用具有 ID3D11Device::CheckFeatureSupport的D3D11_FEATURE_D3D9_OPTIONS1列舉值來查詢驅動程式,以瞭解 Direct3D 9 功能選項的支援,而不是使用 D3D11_FEATURE_D3D9_OPTIONS、D3D11_FEATURE_D3D9_SHADOW_SUPPORT 和 D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT對 ID3D11Device::CheckFeatureSupport 進行多個呼叫,以提供與支援的 Direct3D 9 功能選項相同的資訊。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8.1 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 R2 [僅限傳統型應用程式] |
標頭 | d3d11.h |