D3D11_FILTER 枚举 (d3d11.h)
纹理采样期间的筛选选项。
语法
typedef enum D3D11_FILTER {
D3D11_FILTER_MIN_MAG_MIP_POINT = 0,
D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
D3D11_FILTER_ANISOTROPIC = 0x55,
D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
D3D11_FILTER_MINIMUM_ANISOTROPIC = 0x155,
D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
D3D11_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
} ;
常量
D3D11_FILTER_MIN_MAG_MIP_POINT 值: 0 使用点采样进行缩小、放大和 mip 级采样。 |
D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR 值: 0x1 使用点采样缩小和放大;使用线性内插进行 mip 级采样。 |
D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT 值: 0x4 使用点采样进行缩小;使用线性内插进行放大;使用点采样进行 mip 级采样。 |
D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR 值: 0x5 使用点采样进行缩小;使用线性内插进行放大和 mip 级采样。 |
D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT 值: 0x10 使用线性内插缩小;使用点采样进行放大和 mip 级采样。 |
D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR 值: 0x11 使用线性内插缩小;使用点采样进行放大;使用线性内插进行 mip 级采样。 |
D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT 值: 0x14 使用线性内插缩小和放大;使用点采样进行 mip 级采样。 |
D3D11_FILTER_MIN_MAG_MIP_LINEAR 值: 0x15 使用线性内插缩小、放大和 mip 级采样。 |
D3D11_FILTER_ANISOTROPIC 值: 0x55 使用各向异性内插缩小、放大和 mip 级采样。 |
D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT 值: 0x80 使用点采样进行缩小、放大和 mip 级采样。 将结果与比较值进行比较。 |
D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR 值: 0x81 使用点采样缩小和放大;使用线性内插进行 mip 级采样。 将结果与比较值进行比较。 |
D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT 值: 0x84 使用点采样进行缩小;使用线性内插进行放大;使用点采样进行 mip 级采样。 将结果与比较值进行比较。 |
D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR 值: 0x85 使用点采样进行缩小;使用线性内插进行放大和 mip 级采样。 将结果与比较值进行比较。 |
D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT 值: 0x90 使用线性内插缩小;使用点采样进行放大和 mip 级采样。 将结果与比较值进行比较。 |
D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR 值: 0x91 使用线性内插缩小;使用点采样进行放大;使用线性内插进行 mip 级采样。 将结果与比较值进行比较。 |
D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT 值: 0x94 使用线性内插缩小和放大;使用点采样进行 mip 级采样。 将结果与比较值进行比较。 |
D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR 值: 0x95 使用线性内插缩小、放大和 mip 级采样。 将结果与比较值进行比较。 |
D3D11_FILTER_COMPARISON_ANISOTROPIC 值: 0xd5 使用各向异性内插缩小、放大和 mip 级采样。 将结果与比较值进行比较。 |
D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT 值: 0x100 提取与 D3D11_FILTER_MIN_MAG_MIP_POINT 相同的纹素集,而不是筛选它们会返回纹素的最小值。 筛选期间加权为 0 的纹素不会计入最小值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR 值: 0x101 提取与D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR相同的纹素集,而不是筛选它们会返回纹素的最小值。 筛选期间加权为 0 的纹素不会计入最小值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT 值: 0x104 提取与 D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT 相同的纹素集,而不是筛选它们返回纹素的最小值。 筛选期间加权为 0 的纹素不会计入最小值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR 值: 0x105 提取与D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR相同的纹素集,而不是筛选它们返回纹素的最小值。 筛选期间加权为 0 的纹素不会计入最小值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT 值: 0x110 提取与D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT相同的纹素集,而不是筛选它们会返回纹素的最小值。 筛选期间加权为 0 的纹素不会计入最小值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR 值: 0x111 提取与 D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR 相同的纹素集,而不是筛选它们会返回纹素的最小值。 筛选期间加权为 0 的纹素不会计入最小值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT 值: 0x114 提取与 D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT 相同的纹素集,而不是筛选它们返回纹素的最小值。 筛选期间加权为 0 的纹素不会计入最小值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR 值: 0x115 提取与 D3D11_FILTER_MIN_MAG_MIP_LINEAR 相同的纹素集,而不是筛选它们,返回纹素的最小值。 筛选期间加权为 0 的纹素不会计入最小值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MINIMUM_ANISOTROPIC 值: 0x155 提取与D3D11_FILTER_ANISOTROPIC相同的纹素集,而不是筛选它们会返回纹素的最小值。 筛选期间加权为 0 的纹素不会计入最小值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT 值: 0x180 提取与D3D11_FILTER_MIN_MAG_MIP_POINT相同的纹素集,而不是筛选它们会返回纹素的最大数目。 筛选期间加权为 0 的纹素不会计入最大值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR 值: 0x181 提取与 D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR 相同的纹素集,而不是筛选它们会返回纹素的最大值。 筛选期间加权为 0 的纹素不会计入最大值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询对此筛选器类型的支持。 |
D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT 值: 0x184 提取与D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT相同的纹素集,而不是筛选它们会返回纹素的最大数目。 筛选期间加权为 0 的纹素不会计入最大值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询此筛选器类型的支持。 |
D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR 值: 0x185 提取与 D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR 相同的一组纹素,而不是筛选它们,返回纹素的最大值。 筛选期间加权为 0 的纹素不计入最大值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询此筛选器类型的支持。 |
D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT 值: 0x190 提取与D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT相同的纹素集,而不是筛选它们返回纹素的最大数目。 筛选期间加权为 0 的纹素不计入最大值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询此筛选器类型的支持。 |
D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR 值: 0x191 提取与D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR相同的纹素集,而不是筛选它们,返回纹素的最大数目。 筛选期间加权为 0 的纹素不计入最大值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询此筛选器类型的支持。 |
D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT 值: 0x194 提取与D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT相同的纹素集,而不是筛选它们返回纹素的最大数目。 筛选期间加权为 0 的纹素不计入最大值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询此筛选器类型的支持。 |
D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR 值: 0x195 提取与D3D11_FILTER_MIN_MAG_MIP_LINEAR相同的纹素集,而不是筛选它们返回纹素的最大数目。 筛选期间加权为 0 的纹素不计入最大值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询此筛选器类型的支持。 |
D3D11_FILTER_MAXIMUM_ANISOTROPIC 值: 0x1d5 提取与D3D11_FILTER_ANISOTROPIC相同的纹素集,而不是筛选它们返回纹素的最大数目。 筛选期间加权为 0 的纹素不计入最大值。 可以从 D3D11_FEATURE_DATA_D3D11_OPTIONS1 结构中的 MinMaxFiltering 成员查询此筛选器类型的支持。 |
备注
注意 如果对 min 和 mag 筛选器使用不同的筛选器类型,则在某些情况下,在选择放大还是缩小之间选择不明确的情况下,会出现未定义的行为。 若要防止这种未定义的行为,请使用筛选模式,这些模式对 min 和 mag (使用类似的筛选器操作,或者使用各向异性筛选,从而避免此问题以及) 。
HLSL 纹理采样函数还支持纹理采样期间的比较筛选。 比较筛选将每个采样纹素与比较值进行比较。 布尔结果的混合方式与普通纹理筛选的混合方式相同。
可以使用仅实现纹理筛选的 HLSL 内部纹理采样函数,或使用带比较筛选的纹理筛选的配套函数。
纹理采样函数 | 带比较筛选的纹理采样函数 |
---|---|
示例 | samplecmp 或 samplecmplevelzero |
比较筛选器仅适用于具有以下 DXGI 格式的纹理:R32_FLOAT_X8X24_TYPELESS、R32_FLOAT、R24_UNORM_X8_TYPELESS R16_UNORM。
要求
标头 | d3d11.h |