D3DDDIFORMAT枚举 (d3dukmdt.h)

D3DDDIFORMAT枚举类型包含标识图面格式的值。

语法

typedef enum _D3DDDIFORMAT {
  D3DDDIFMT_UNKNOWN,
  D3DDDIFMT_R8G8B8,
  D3DDDIFMT_A8R8G8B8,
  D3DDDIFMT_X8R8G8B8,
  D3DDDIFMT_R5G6B5,
  D3DDDIFMT_X1R5G5B5,
  D3DDDIFMT_A1R5G5B5,
  D3DDDIFMT_A4R4G4B4,
  D3DDDIFMT_R3G3B2,
  D3DDDIFMT_A8,
  D3DDDIFMT_A8R3G3B2,
  D3DDDIFMT_X4R4G4B4,
  D3DDDIFMT_A2B10G10R10,
  D3DDDIFMT_A8B8G8R8,
  D3DDDIFMT_X8B8G8R8,
  D3DDDIFMT_G16R16,
  D3DDDIFMT_A2R10G10B10,
  D3DDDIFMT_A16B16G16R16,
  D3DDDIFMT_A8P8,
  D3DDDIFMT_P8,
  D3DDDIFMT_L8,
  D3DDDIFMT_A8L8,
  D3DDDIFMT_A4L4,
  D3DDDIFMT_V8U8,
  D3DDDIFMT_L6V5U5,
  D3DDDIFMT_X8L8V8U8,
  D3DDDIFMT_Q8W8V8U8,
  D3DDDIFMT_V16U16,
  D3DDDIFMT_W11V11U10,
  D3DDDIFMT_A2W10V10U10,
  D3DDDIFMT_UYVY,
  D3DDDIFMT_R8G8_B8G8,
  D3DDDIFMT_YUY2,
  D3DDDIFMT_G8R8_G8B8,
  D3DDDIFMT_DXT1,
  D3DDDIFMT_DXT2,
  D3DDDIFMT_DXT3,
  D3DDDIFMT_DXT4,
  D3DDDIFMT_DXT5,
  D3DDDIFMT_D16_LOCKABLE,
  D3DDDIFMT_D32,
  D3DDDIFMT_D15S1,
  D3DDDIFMT_D24S8,
  D3DDDIFMT_D24X8,
  D3DDDIFMT_D24X4S4,
  D3DDDIFMT_D16,
  D3DDDIFMT_D32F_LOCKABLE,
  D3DDDIFMT_D24FS8,
  D3DDDIFMT_D32_LOCKABLE,
  D3DDDIFMT_S8_LOCKABLE,
  D3DDDIFMT_S1D15,
  D3DDDIFMT_S8D24,
  D3DDDIFMT_X8D24,
  D3DDDIFMT_X4S4D24,
  D3DDDIFMT_L16,
  D3DDDIFMT_G8R8,
  D3DDDIFMT_R8,
  D3DDDIFMT_VERTEXDATA,
  D3DDDIFMT_INDEX16,
  D3DDDIFMT_INDEX32,
  D3DDDIFMT_Q16W16V16U16,
  D3DDDIFMT_MULTI2_ARGB8,
  D3DDDIFMT_R16F,
  D3DDDIFMT_G16R16F,
  D3DDDIFMT_A16B16G16R16F,
  D3DDDIFMT_R32F,
  D3DDDIFMT_G32R32F,
  D3DDDIFMT_A32B32G32R32F,
  D3DDDIFMT_CxV8U8,
  D3DDDIFMT_A1,
  D3DDDIFMT_A2B10G10R10_XR_BIAS,
  D3DDDIFMT_DXVACOMPBUFFER_BASE,
  D3DDDIFMT_PICTUREPARAMSDATA,
  D3DDDIFMT_MACROBLOCKDATA,
  D3DDDIFMT_RESIDUALDIFFERENCEDATA,
  D3DDDIFMT_DEBLOCKINGDATA,
  D3DDDIFMT_INVERSEQUANTIZATIONDATA,
  D3DDDIFMT_SLICECONTROLDATA,
  D3DDDIFMT_BITSTREAMDATA,
  D3DDDIFMT_MOTIONVECTORBUFFER,
  D3DDDIFMT_FILMGRAINBUFFER,
  D3DDDIFMT_DXVA_RESERVED9,
  D3DDDIFMT_DXVA_RESERVED10,
  D3DDDIFMT_DXVA_RESERVED11,
  D3DDDIFMT_DXVA_RESERVED12,
  D3DDDIFMT_DXVA_RESERVED13,
  D3DDDIFMT_DXVA_RESERVED14,
  D3DDDIFMT_DXVA_RESERVED15,
  D3DDDIFMT_DXVA_RESERVED16,
  D3DDDIFMT_DXVA_RESERVED17,
  D3DDDIFMT_DXVA_RESERVED18,
  D3DDDIFMT_DXVA_RESERVED19,
  D3DDDIFMT_DXVA_RESERVED20,
  D3DDDIFMT_DXVA_RESERVED21,
  D3DDDIFMT_DXVA_RESERVED22,
  D3DDDIFMT_DXVA_RESERVED23,
  D3DDDIFMT_DXVA_RESERVED24,
  D3DDDIFMT_DXVA_RESERVED25,
  D3DDDIFMT_DXVA_RESERVED26,
  D3DDDIFMT_DXVA_RESERVED27,
  D3DDDIFMT_DXVA_RESERVED28,
  D3DDDIFMT_DXVA_RESERVED29,
  D3DDDIFMT_DXVA_RESERVED30,
  D3DDDIFMT_DXVA_RESERVED31,
  D3DDDIFMT_DXVACOMPBUFFER_MAX,
  D3DDDIFMT_BINARYBUFFER,
  D3DDDIFMT_FORCE_UINT
} D3DDDIFORMAT;

常数

 
D3DDDIFMT_UNKNOWN
未知格式。
D3DDDIFMT_R8G8B8
每个通道具有 8 位的 24 位 RGB 无符号像素格式。
D3DDDIFMT_A8R8G8B8
32 位 ARGB 无符号像素格式,其中 alpha 为每个通道使用 8 位。
D3DDDIFMT_X8R8G8B8
32 位 RGB 无符号像素格式,其中为每个颜色保留 8 位。
D3DDDIFMT_R5G6B5
16 位 RGB 无符号像素格式,5 位表示红色,6 位表示绿色,5 位表示蓝色。
D3DDDIFMT_X1R5G5B5
16 位无符号像素格式,其中为每个颜色保留 5 位。
D3DDDIFMT_A1R5G5B5
16 位无符号像素格式,其中为每个颜色保留 5 位,1 位为 alpha 保留。
D3DDDIFMT_A4R4G4B4
每个通道有 4 位的 16 位 ARGB 无符号像素格式。
D3DDDIFMT_R3G3B2
8 位 RGB 无符号纹理格式,将 3 位用于红色,3 位表示绿色,2 位表示蓝色。
D3DDDIFMT_A8
仅限 8 位 alpha。
D3DDDIFMT_A8R3G3B2
16 位 ARGB 无符号纹理格式,对 alpha 使用 8 位,3 位用于红色和绿色,2 位表示蓝色。
D3DDDIFMT_X4R4G4B4
16 位 RGB 无符号像素格式,每个颜色使用 4 位。
D3DDDIFMT_A2B10G10R10
32 位无符号像素格式,每个颜色使用 10 位,2 位用于 alpha。
D3DDDIFMT_A8B8G8R8
32 位 ARGB 无符号像素格式,其中 alpha 为每个通道使用 8 位。
D3DDDIFMT_X8B8G8R8
32 位 RGB 无符号像素格式,其中为每个颜色保留 8 位。
D3DDDIFMT_G16R16
32 位无符号像素格式,每个格式使用 16 位表示绿色和红色。
D3DDDIFMT_A2R10G10B10
32 位无符号像素格式,每个颜色使用 10 位,2 位用于 alpha。
D3DDDIFMT_A16B16G16R16
每个组件使用 16 位的 64 位无符号像素格式。
D3DDDIFMT_A8P8
以 8 位 alpha 为索引的 8 位颜色。
D3DDDIFMT_P8
已编制索引的 8 位颜色。
D3DDDIFMT_L8
仅 8 位亮度。
D3DDDIFMT_A8L8
16 位格式,每个格式使用 8 位用于 alpha 和亮度。
D3DDDIFMT_A4L4
8 位格式,每个格式使用 4 位用于 alpha 和亮度。
D3DDDIFMT_V8U8
16 位有符号凹凸映射格式,每个格式使用 8 位,适合你和 v 数据。
D3DDDIFMT_L6V5U5
16 位混合有符号和无符号凹凸映射格式,具有亮度,使用 6 位用于亮度,每个位用于 v 和数据 5 位。
D3DDDIFMT_X8L8V8U8
32 位混合带符号和无符号凸起映射格式,其亮度为每个通道使用 8 位。
D3DDDIFMT_Q8W8V8U8
每个通道使用 8 位的 32 位带符号凹凸映射格式。
D3DDDIFMT_V16U16
32 位带符号凹凸映射格式,每个格式使用 16 位,适合你和 v 数据。
D3DDDIFMT_W11V11U10
32 位有符号凸起映射格式,每个格式使用 11 位用于 w 和 v 和 10 位。
D3DDDIFMT_A2W10V10U10
32 位混合有符号和无符号凹凸映射格式,每个格式使用 2 位 alpha 和 10 位,分别用于 w、v 和你。
D3DDDIFMT_UYVY
UYVY FOURCC 格式(MAKEFOURCC('U', 'Y', 'V', 'Y'))。
D3DDDIFMT_R8G8_B8G8
RGBG FOURCC 格式(MAKEFOURCC('R', 'G', 'B', 'G'))。

类似于 UYVY 的 16 位打包 RGB 格式(U0Y0、V0Y1、U2Y2 等)。 RGBG FOURCC 格式需要像素对来表示颜色值。 对中的第一个像素包含 8 位绿色(在低 8 位)和 8 位红色(在高 8 位中)。 第二个像素包含 8 位绿色(在低 8 位)和 8 位蓝色(在高 8 位中)。 这两个像素共享红色和蓝色组件,每个像素都有一个唯一的绿色组件(R0G0、B0G1、R2G2 等)。

在查找像素着色器时,纹理采样器不会规范化颜色;它们保持在 0.0f 到 255.0f 的范围内。 所有可编程像素着色器模型都会出现这种情况。 对于固定函数像素着色器,硬件应规范化到 0.f 到 1.f 的范围,并将其视为 YUY2 纹理。 公开此格式的硬件必须 PixelShader1xMaxValue D3DCAPS9结构的成员设置为能够处理该范围(0.f 到 1.f)的值。
D3DDDIFMT_YUY2
YUY2 FOURCC 格式(MAKEFOURCC('Y', 'U', 'Y', '2') 。
D3DDDIFMT_G8R8_G8B8
GRGB FOURCC 格式(MAKEFOURCC('G', 'R', 'G', 'B'))。

类似于 YUY2(Y0U0、Y1V0、Y2U2 等)的 16 位打包 RGB 格式。 GRGB FOURCC 格式需要像素对来表示颜色值。 对中的第一个像素包含 8 位绿色(在高 8 位)和 8 位红色(在低 8 位中)。 第二个像素包含 8 位绿色(在高 8 位)和 8 位蓝色(在低 8 位中)。 这两个像素共享红色和蓝色组件,每个像素都有一个唯一的绿色组件(G0R0、G1B0、G2R2 等)。

在查找像素着色器时,纹理采样器不会规范化颜色;它们保持在 0.0f 到 255.0f 的范围内。 所有可编程像素着色器模型都会出现这种情况。 对于固定函数像素着色器,硬件应规范化到 0.f 到 1.f 的范围,并将其视为 YUY2 纹理。 公开此格式的硬件必须 PixelShader1xMaxValue 成员D3DCAPS9设置为能够处理该范围(0.f 到 1.f)的值。
D3DDDIFMT_DXT1
DXT1 FOURCC 压缩纹理格式(MAKEFOURCC('D', 'X', 'T', '1'))。
D3DDDIFMT_DXT2
DXT2 FOURCC 压缩纹理格式(MAKEFOURCC('D', 'X', 'T', '2'))。
D3DDDIFMT_DXT3
DXT3 FOURCC 压缩纹理格式(MAKEFOURCC('D', 'X', 'T', '3'))。
D3DDDIFMT_DXT4
DXT4 FOURCC 压缩纹理格式(MAKEFOURCC('D', 'X', 'T', '4'))。
D3DDDIFMT_DXT5
DXT5 FOURCC 压缩纹理格式(MAKEFOURCC('D', 'X', 'T', '5'))。
D3DDDIFMT_D16_LOCKABLE
16 位 z 缓冲区位深度。
D3DDDIFMT_D32
32 位 z 缓冲区位深度。
D3DDDIFMT_D15S1
16 位 z 缓冲区位深度,其中 15 位是为深度通道保留的,1 位是为模具通道保留的。
D3DDDIFMT_D24S8
32 位 z 缓冲区位深度,该深度为深度通道使用 24 位,模具通道使用 8 位。
D3DDDIFMT_D24X8
32 位 z 缓冲区位深度,该深度使用 24 位用于深度通道。
D3DDDIFMT_D24X4S4
32 位 z 缓冲区位深度,该深度为深度通道使用 24 位,模具通道使用 4 位。
D3DDDIFMT_D16
16 位 z 缓冲区位深度。
D3DDDIFMT_D32F_LOCKABLE
可锁定的缓冲区格式,其中深度值表示为标准 IEEE 浮点数。
D3DDDIFMT_D24FS8
包含 24 位深度的非锁定缓冲区格式(采用 24 位浮点格式:- 20e4)和 8 位模具。
D3DDDIFMT_D32_LOCKABLE
可为深度通道使用 32 位的可锁定缓冲区格式。
D3DDDIFMT_S8_LOCKABLE
一种可锁定的缓冲区格式,该格式使用 8 位用于模具通道。
D3DDDIFMT_S1D15
16 位 z 缓冲区位深度,其中 15 位是为深度通道保留的,1 位是为模具通道保留的。
D3DDDIFMT_S8D24
32 位 z 缓冲区位深度,该深度为深度通道使用 24 位,模具通道使用 8 位。
D3DDDIFMT_X8D24
32 位 z 缓冲区位深度,该深度使用 24 位用于深度通道。
D3DDDIFMT_X4S4D24
32 位 z 缓冲区位深度,该深度为深度通道使用 24 位,模具通道使用 4 位。
D3DDDIFMT_L16
仅 16 位亮度。
D3DDDIFMT_G8R8
一种双分量 16 位无符号规范化整数格式,支持红色通道的 8 位,绿色通道支持 8 位。 等效于从 DXGI_FORMAT 枚举 DXGI_FORMAT_R8G8_UNORM
D3DDDIFMT_R8
一种单分量 8 位无符号规范化整数格式,支持红色通道的 8 位。 等效于从 DXGI_FORMAT 枚举 DXGI_FORMAT_R8_UNORM
D3DDDIFMT_VERTEXDATA
顶点缓冲区图面。
D3DDDIFMT_INDEX16
16 位索引缓冲区位深度。
D3DDDIFMT_INDEX32
32 位索引缓冲区位深度。
D3DDDIFMT_Q16W16V16U16
每个通道使用 16 位的 64 位带符号凹凸映射格式。
D3DDDIFMT_MULTI2_ARGB8
MultiElement FOURCC 非压缩纹理(MAKEFOURCC('M','E','T','1'))。
D3DDDIFMT_R16F
16 位 s10e5 浮点图面格式,用于红色通道使用 16 位。
D3DDDIFMT_G16R16F
32 位 s10e5 浮点图面格式,用于红色通道使用 16 位,绿色通道使用 16 位。
D3DDDIFMT_A16B16G16R16F
64 位 s10e5 浮点图面格式,每个通道使用 16 位(alpha、蓝色、绿色和红色)。
D3DDDIFMT_R32F
32 位 s23e8 浮点图面格式,用于红色通道使用 32 位。
D3DDDIFMT_G32R32F
64 位 s23e8 浮点图面格式,用于红色通道使用 32 位,绿色通道使用 32 位。
D3DDDIFMT_A32B32G32R32F
128 位 s23e8 浮点图面格式,每个通道使用 32 位(alpha、蓝色、绿色和红色)。
D3DDDIFMT_CxV8U8
16 位有符号正常压缩格式。 纹理采样器从:C = sqrt(1 - U2 - V2)计算 C 通道。
D3DDDIFMT_A1
单色每像素 1 位格式。
D3DDDIFMT_A2B10G10R10_XR_BIAS
在 Windows 7 及更高版本中受支持。

32 位无符号像素格式,每个颜色使用 10 位,2 位用于 alpha,以及 2.8 偏置固定点。
D3DDDIFMT_DXVACOMPBUFFER_BASE
基本压缩缓冲区格式值。
D3DDDIFMT_PICTUREPARAMSDATA
图片参数解码压缩缓冲区格式。
D3DDDIFMT_MACROBLOCKDATA
宏块控制命令解码压缩缓冲区格式。
D3DDDIFMT_RESIDUALDIFFERENCEDATA
残差块差异解码压缩缓冲区格式。
D3DDDIFMT_DEBLOCKINGDATA
取消阻止筛选器控件命令解码压缩缓冲区格式。
D3DDDIFMT_INVERSEQUANTIZATIONDATA
反量子化矩阵解码压缩缓冲区格式。
D3DDDIFMT_SLICECONTROLDATA
切片控制解码压缩缓冲区格式。
D3DDDIFMT_BITSTREAMDATA
Bitstream 数据解码压缩缓冲区格式。
D3DDDIFMT_MOTIONVECTORBUFFER
运动向量解码压缩缓冲区格式。
D3DDDIFMT_FILMGRAINBUFFER
电影粒度解码压缩缓冲区格式。
D3DDDIFMT_DXVA_RESERVED9
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED10
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED11
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED12
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED13
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED14
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED15
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED16
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED17
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED18
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED19
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED20
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED21
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED22
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED23
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED24
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED25
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED26
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED27
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED28
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED29
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED30
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVA_RESERVED31
为 DirectX VA 格式类型保留。
D3DDDIFMT_DXVACOMPBUFFER_MAX
指示已达到最大压缩缓冲区格式值。
D3DDDIFMT_BINARYBUFFER
二进制缓冲区格式。
D3DDDIFMT_FORCE_UINT
强制此枚举编译为大小为 32 位。 如果没有此值,某些编译器将允许此枚举编译为 32 位以外的大小。 不应使用此值。

言论

请注意,硬件供应商提供格式,许多 FOURCC 代码未列在D3DDDIFORMAT枚举类型中。 D3DDDIFORMAT中的格式是唯一的,因为它们由 Microsoft Direct3D 运行时批准;也就是说,引用光栅器对所有光栅器进行作。 供应商基于卡片支持供应商提供的格式。

要求

要求 价值
最低支持的客户端 Windows Vista
标头 d3dukmdt.h (包括 D3dumddi.h, D3dkmddi.h)

另请参阅

D3DDDIARG_CREATERESOURCE

DXGI_FORMAT