D3DX_FILTER

以下标志用于指定要操作的纹理中的通道。

#define 说明
D3DX_FILTER_NONE 不会进行缩放或筛选。 假定源图像边界外的像素为透明黑色。
D3DX_FILTER_POINT 每个目标像素通过从源图像中采样最接近的像素来计算。
D3DX_FILTER_LINEAR 每个目标像素通过从源图像中采样最接近的四个像素来计算。 当两个轴上的刻度小于 2 时,此筛选器效果最佳。
D3DX_FILTER_TRIANGLE 源图像中的每个像素都与目标图像相同。 这是最慢的筛选器。
D3DX_FILTER_BOX 每个像素通过从源图像中平均计算 2x2 (x2) 像素框。 仅当目标的维度是源的一半时,此筛选器才有效,就像 mipmap 一样。
D3DX_FILTER_MIRROR_U 应镜像 u 轴上纹理边缘的像素,而不是包装。
D3DX_FILTER_MIRROR_V v 轴上纹理边缘的像素应镜像,而不是包装。
D3DX_FILTER_MIRROR_W w 轴上纹理边缘的像素应镜像,而不是包装。
D3DX_FILTER_MIRROR 指定此标志与指定D3DX_FILTER_MIRROR_U、D3DX_FILTER_MIRROR_V和D3DX_FILTER_MIRROR_W标志相同。
D3DX_FILTER_DITHER 必须使用 4x4 有序的任一算法对生成的图像进行任一处理。
D3DX_FILTER_SRGB_IN 输入数据位于 sRGB (gamma 2.2) 颜色空间中。
D3DX_FILTER_SRGB_OUT 输出数据位于 sRGB (gamma 2.2) 颜色空间中。
D3DX_FILTER_SRGB 与指定D3DX_FILTER_SRGB_IN |相同D3DX_FILTER_SRGB_OUT。

 

每个有效筛选器必须正好包含以下标志之一:D3DX_FILTER_NONE、D3DX_FILTER_POINT、D3DX_FILTER_LINEAR、D3DX_FILTER_TRIANGLE或D3DX_FILTER_BOX。 此外,可以使用 OR 运算符通过有效筛选器指定以下零个或多个可选标志:D3DX_FILTER_MIRROR_U、D3DX_FILTER_MIRROR_V、D3DX_FILTER_MIRROR_W、D3DX_FILTER_MIRROR、D3DX_FILTER_DITHER、D3DX_FILTER_SRGB_IN、D3DX_FILTER_SRGB_OUT或D3DX_FILTER_SRGB。

为此参数指定D3DX_DEFAULT通常等效于指定D3DX_FILTER_TRIANGLE |D3DX_FILTER_DITHER。 但是,D3DX_DEFAULT可能具有不同的含义,具体取决于使用筛选器的方法。 例如:

  • 使用 D3DXCreateTextureFromFileEx 时,D3DX_DEFAULT映射到D3DX_FILTER_TRIANGLE |D3DX_FILTER_DITHER。
  • 使用 D3DXFilterTexture 时,如果纹理大小为 2,D3DX_DEFAULT映射到D3DX_FILTER_BOX,D3DX_FILTER_BOX |否则D3DX_FILTER_DITHER。

引用每个方法来检查如何映射D3DX_DEFAULT筛选器的信息。

常量信息

要求 Value
标头 d3dx9tex.h
最低操作系统 Windows 98

 

D3DX 常量