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 编译器,也不能使用 D3DCompiler_43.dll 及更早版本中实现的 D3DCompile** 函数 (D3DCompileFromFile) 。 功能级别 9.x 上的这些内部函数仅在 Windows 8 SDK 及更高版本随附的 fxc.exe 编译器以及 D3DCompiler_44.dll 及更高版本中实现的 D3DCompile** 函数中受支持。
但是,这些内部函数存在于高于 9.x 的功能级别的着色器模型中。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | 适用于 Windows Server 2008 R2 的Windows Server 2012和平台更新 [桌面应用 |UWP 应用] |
标头 | d3d11.h |