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

另请参阅

核心枚举