(d3d11.h) D3D11_FEATURE_DATA_D3D9_OPTIONS1 结构

注意Direct3D 11.2 运行时支持此结构,该运行时在 Windows 8.1 及更高版本的操作系统上可用。
 
介绍当前图形驱动程序中的 Direct3D 9 功能选项。

语法

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 纹理的宽度和高度必须指定为两个) 功能的功率或非功率 2 的有条件特征,则运行时会将此成员设置为 FALSE

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 深度图面。

注解

可以将 D3D11_FEATURE_D3D9_OPTIONS1 枚举值与 ID3D11Device::CheckFeatureSupport 一起使用,以查询驱动程序对 Direct3D 9 功能选项的支持,而不是使用 D3D11_FEATURE_D3D9_OPTIONSD3D11_FEATURE_D3D9_SHADOW_SUPPORTD3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORTID3D11Device::CheckFeatureSupport 进行多次调用,它们提供有关支持的 Direct3D 9 功能选项的相同信息。

要求

要求
最低受支持的客户端 Windows 8.1 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 R2 [仅限桌面应用]
标头 d3d11.h

另请参阅

核心结构

D3D11_FEATURE