DDS_PIXELFORMAT 结构
Surface 像素格式。
语法
struct DDS_PIXELFORMAT {
DWORD dwSize;
DWORD dwFlags;
DWORD dwFourCC;
DWORD dwRGBBitCount;
DWORD dwRBitMask;
DWORD dwGBitMask;
DWORD dwBBitMask;
DWORD dwABitMask;
};
成员
-
dwSize
-
类型: DWORD
-
结构大小;设置为 32 (字节) 。
-
dwFlags
-
类型: DWORD
-
指示图面中数据类型的值。
标志 描述 值 DDPF_ALPHAPIXELS 纹理包含 alpha 数据; dwRGBAlphaBitMask 包含有效数据。 0x1 DDPF_ALPHA 在某些较旧的 DDS 文件中用于 alpha 通道的未压缩数据 (dwRGBBitCount 包含 alpha 通道位计数;dwABitMask 包含有效的数据) 0x2 DDPF_FOURCC 纹理包含压缩的 RGB 数据; dwFourCC 包含有效数据。 0x4 DDPF_RGB 纹理包含未压缩的 RGB 数据; dwRGBBitCount 和 rgb 掩码 (dwRBitMask、 dwGBitMask、 dwBBitMask) 包含有效数据。 0x40 DDPF_YUV 在一些较旧的 DDS 文件中用于 YUV 未压缩数据 (dwRGBBitCount 包含 YUV 位计数;dwRBitMask 包含 Y 掩码,dwGBitMask 包含 U 掩码,dwBBitMask 包含 V 掩码) 0x200 DDPF_LUMINANCE 用于某些较旧的 DDS 文件,用于单通道颜色未压缩数据 (dwRGBBitCount 包含亮度通道位计数;dwRBitMask 包含通道掩码) 。 可与两个通道 DDS 文件的DDPF_ALPHAPIXELS结合使用。 0x20000 -
dwFourCC
-
类型: DWORD
-
用于指定压缩格式或自定义格式的四个字符代码。 可能的值包括: DXT1、 DXT2、 DXT3、 DXT4 或 DXT5。 DX10 的 FourCC 指示 DDS_HEADER_DXT10 扩展标头的前提,该结构的 dxgiFormat 成员指示真实格式。 使用四个字符的代码时,dwFlags 必须包含 DDPF_FOURCC。
-
dwRGBBitCount
-
类型: DWORD
-
RGB (可能包含 alpha) 格式的位数。 当 dwFlags 包括 DDPF_RGB、 DDPF_LUMINANCE或 DDPF_YUV时有效。
-
dwRBitMask
-
类型: DWORD
-
用于读取颜色数据的红色 (或亮度或 Y) 掩码。 例如,给定 A8R8G8B8 格式,红色掩码将0x00ff0000。
-
dwGBitMask
-
类型: DWORD
-
用于读取颜色数据的绿色 (或 U) 掩码。 例如,给定 A8R8G8B8 格式,绿色掩码将0x0000ff00。
-
dwBBitMask
-
类型: DWORD
-
用于读取颜色数据的蓝色 (或 V) 掩码。 例如,给定 A8R8G8B8 格式,蓝色掩码将0x000000ff。
-
dwABitMask
-
类型: DWORD
-
用于读取 alpha 数据的 Alpha 掩码。 dwFlags 必须包含 DDPF_ALPHAPIXELS 或 DDPF_ALPHA。 例如,给定 A8R8G8B8 格式,将0xff000000 alpha 掩码。
备注
若要存储 DXGI 格式(如浮点数据),请使用DDPF_FOURCC的 dwFlags 并将 dwFourCC 设置为“D”、“X”、“1”、“0”。 使用 DDS_HEADER_DXT10 扩展标头将 DXGI 格式存储在 dxgiFormat 成员中。
请注意,存在 DDS 文件的非标准变体, 其中 dwFlags 具有DDPF_FOURCC, dwFourCC 值直接设置为 D3DFORMAT 或DXGI_FORMAT枚举值。 使用此非标准方案无法消除 D3DFORMAT 与DXGI_FORMAT值的歧义,因此建议改用 DX10 扩展标头。
要求
要求 | 值 |
---|---|
标头 |
|