在 Win32 API 中,D3D10_FILTER 枚举用于定义纹理采样时的过滤器选项。过滤器用于确定在纹理采样时如何取样纹理中的像素。以下是 D3D10_FILTER 枚举的定义:
typedef enum D3D10_FILTER {
    D3D10_FILTER_MIN_MAG_MIP_POINT               = 0,
    D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR        = 0x1,
    D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT  = 0x4,
    D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR        = 0x5,
    D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT        = 0x10,
    D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
    D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT        = 0x14,
    D3D10_FILTER_MIN_MAG_MIP_LINEAR              = 0x15,
    D3D10_FILTER_ANISOTROPIC                     = 0x55,
    D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT    = 0x80,
    D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
    D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
    D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
    D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
    D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
    D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
    D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR    = 0x95,
    D3D10_FILTER_COMPARISON_ANISOTROPIC           = 0xd5
} D3D10_FILTER;

这个枚举定义了各种不同的纹理过滤选项,包括:

  •  D3D10_FILTER_MIN_MAG_MIP_POINT: 最近点采样。

  •  D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR: 最近点采样(mip映射时使用线性插值)。

  •  D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT: 最近点采样(mip映射时使用点采样,线性插值)。

  •  D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR: 最近点采样(mip映射时使用线性插值)。

  •  D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT: 线性插值(mip映射时使用点采样)。

  •  D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR: 线性插值(mip映射时使用点采样,线性插值)。

  •  D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT: 线性插值(mip映射时使用点采样)。

  •  D3D10_FILTER_MIN_MAG_MIP_LINEAR: 线性插值(mip映射时使用线性插值)。

  •  D3D10_FILTER_ANISOTROPIC: 各向异性过滤。

  •  D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT: 比较模式下的最近点采样。

  •  其他各种带有比较模式的过滤选项。


这些过滤选项可以影响纹理采样的质量和性能。在创建纹理采样器状态对象时,可以通过设置 D3D10_SAMPLER_DESC 结构体的 Filter 成员来选择适当的过滤器。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25539/Win32 API/D3d10.h/D3D10_FILTER