D3D10_FILTER 枚举 (d3d10.h)
纹理采样期间的筛选选项。
语法
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_TEXT_1BIT = 0x80000000
} ;
常量
D3D10_FILTER_MIN_MAG_MIP_POINT 值: 0 使用点采样进行缩小、放大和 mip 级采样。 |
D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR 值: 0x1 使用点采样进行缩小和放大;使用线性内插进行 mip 级采样。 |
D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT 值: 0x4 使用点采样进行缩小;使用线性内插进行放大;使用点采样进行 mip 级采样。 |
D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR 值: 0x5 使用点采样进行缩小;使用线性内插进行放大和 mip 级采样。 |
D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT 值: 0x10 使用线性内插缩小;使用点采样进行放大和 mip 级采样。 |
D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR 值: 0x11 使用线性内插缩小;使用点采样进行放大;使用线性内插进行 mip 级采样。 |
D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT 值: 0x14 使用线性内插缩小和放大;使用点采样进行 mip 级采样。 |
D3D10_FILTER_MIN_MAG_MIP_LINEAR 值: 0x15 使用线性内插缩小、放大和 mip 级采样。 |
D3D10_FILTER_ANISOTROPIC 值: 0x55 使用各向异性内插缩小、放大和 mip 级采样。 |
D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT 值: 0x80 使用点采样进行缩小、放大和 mip 级采样。 将结果与比较值进行比较。 |
D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR 值: 0x81 使用点采样进行缩小和放大;使用线性内插进行 mip 级采样。 将结果与比较值进行比较。 |
D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT 值: 0x84 使用点采样进行缩小;使用线性内插进行放大;使用点采样进行 mip 级采样。 将结果与比较值进行比较。 |
D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR 值: 0x85 使用点采样进行缩小;使用线性内插进行放大和 mip 级采样。 将结果与比较值进行比较。 |
D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT 值: 0x90 使用线性内插缩小;使用点采样进行放大和 mip 级采样。 将结果与比较值进行比较。 |
D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR 值: 0x91 使用线性内插缩小;使用点采样进行放大;使用线性内插进行 mip 级采样。 将结果与比较值进行比较。 |
D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT 值: 0x94 使用线性内插缩小和放大;使用点采样进行 mip 级采样。 将结果与比较值进行比较。 |
D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR 值: 0x95 使用线性内插缩小、放大和 mip 级采样。 将结果与比较值进行比较。 |
D3D10_FILTER_COMPARISON_ANISOTROPIC 值: 0xd5 使用各向异性内插缩小、放大和 mip 级采样。 将结果与比较值进行比较。 |
D3D10_FILTER_TEXT_1BIT 值: 0x80000000 用于具有R1_UNORM格式的纹理的像素着色器。 |
注解
在纹理采样期间,将读取一个或多个纹素并组合 (这调用筛选) 以生成单个值。 点采样读取单个纹素,而线性采样读取两个纹素 (终结点) ,并在终结点之间线性内插第三个值。
HLSL 纹理采样函数还支持纹理采样期间的比较筛选。 比较筛选将每个采样纹素与比较值进行比较。 布尔结果的混合方式与普通纹理筛选的混合方式相同。
可以使用仅实现纹理筛选的 HLSL 内部纹理采样函数,或使用带比较筛选的纹理筛选的配套函数。
纹理采样函数 | 带比较筛选的纹理采样函数 |
---|---|
sample | samplecmp 或 samplecmplevelzero |
比较筛选器仅适用于具有以下 格式的纹理:R32_FLOAT_X8X24_TYPELESS、R32_FLOAT、R24_UNORM_X8_TYPELESS R16_UNORM。
要求
要求 | 值 |
---|---|
Header | d3d10.h |