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筛选器的信息。

常量信息

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

 

D3DX 常量