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 位用于亮度,每个 5 位用于 v 和数据。
D3DDDIFMT_X8L8V8U8
32 位混合有符号和无符号凹凸映射格式,其亮度为每个通道使用 8 位。
D3DDDIFMT_Q8W8V8U8
每个通道使用 8 位的 32 位带符号凹凸映射格式。
D3DDDIFMT_V16U16
32 位有符号凹凸映射格式,每个格式使用 16 位,用于你的和 v 数据。
D3DDDIFMT_W11V11U10
32 位带符号凹凸映射格式,每个格式使用 11 位,用于 w 和 v 和 10 位。
D3DDDIFMT_A2W10V10U10
32 位混合有符号和无符号凹凸映射格式,分别对 w、v 和你使用 2 位的 alpha 位和 10 位。
D3DDDIFMT_UYVY
UYVY FOURCC 格式 (MAKEFOURCC (“U”、“Y”、“V”、“Y”) ) 。
D3DDDIFMT_R8G8_B8G8
RGBG FOURCC 格式 (MAKEFOURCC (“R”、“G”、“B”、“G”) ) 。

16 位打包的 RGB 格式,类似于 UYVY (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 纹理。 公开此格式的硬件必须将 D3DCAPS9 结构的 PixelShader1xMaxValue 成员设置为能够处理该范围 (0.f 到 1.f) 的值。
D3DDDIFMT_YUY2
YUY2 FOURCC 格式 (MAKEFOURCC (“Y”、“U”、“Y”、“2”) ) 。
D3DDDIFMT_G8R8_G8B8
GRGB FOURCC 格式 (MAKEFOURCC (“G”、“R”、“G”、“B”) ) 。

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

在查找像素着色器时,纹理采样器不会规范化颜色:它们保持从 0.0f 到 255.0f 的范围。 所有可编程像素着色器模型都会出现这种情况。 对于固定函数像素着色器,硬件应规范化到从 0.f 到 1.f 的范围,并将其视为 YUY2 纹理。 公开此格式的硬件必须将 D3DCAPS9 的 PixelShader1xMaxValue 成员设置为能够处理该范围 (0.f 到 1.f) 的值。
D3DDDIFMT_DXT1
DXT1 FOURCC 压缩纹理格式 (MAKEFOURCC (“、”X“、”T“、”1“) ) 。
D3DDDIFMT_DXT2
DXT2 FOURCC 压缩纹理格式 (MAKEFOURCC (“、”X“、”T“、”2“) ) 。
D3DDDIFMT_DXT3
DXT3 FOURCC 压缩纹理格式 (MAKEFOURCC (“、”X“、”T“、”3“) ) 。
D3DDDIFMT_DXT4
DXT4 FOURCC 压缩纹理格式 (MAKEFOURCC ('D', 'X', 'T', '4') ) .
D3DDDIFMT_DXT5
DXT5 FOURCC 压缩纹理格式 (MAKEFOURCC (“、”X“、”T“、”5“) ) 。
D3DDDIFMT_D16_LOCKABLE
16 位 z 缓冲区位深度。
D3DDDIFMT_D32
32 位 z 缓冲区位深度。
D3DDDIFMT_D15S1
16 位 z 缓冲区位深度,其中为深度通道保留 15 位,1 位为模具通道保留 1 位。
D3DDDIFMT_D24S8
32 位 z 缓冲区位深度,该深度为深度通道使用 24 位,模具通道使用 8 位。
D3DDDIFMT_D24X8
对深度通道使用 24 位的 32 位 z 缓冲区位深度。
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 位为模具通道保留 1 位。
D3DDDIFMT_S8D24
32 位 z 缓冲区位深度,该深度为深度通道使用 24 位,模具通道使用 8 位。
D3DDDIFMT_X8D24
对深度通道使用 24 位的 32 位 z 缓冲区位深度。
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
Header d3dukmdt.h (包括 D3dumddi.h、D3dkmddi.h)

另请参阅

D3DDDIARG_CREATERESOURCE

DXGI_FORMAT