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
具有 alpha 的 32 位 ARGB 无符号像素格式,每个通道使用 8 位。
D3DDDIFMT_X8R8G8B8
32 位 RGB 无符号像素格式,其中为每个颜色保留 8 位。
D3DDDIFMT_R5G6B5
16 位 RGB 无符号像素格式,红色为 5 位,绿色为 6 位,蓝色为 5 位。
D3DDDIFMT_X1R5G5B5
16 位无符号像素格式,其中为每个颜色保留 5 位。
D3DDDIFMT_A1R5G5B5
16 位无符号像素格式,其中为每个颜色保留 5 位,为 alpha 保留 1 位。
D3DDDIFMT_A4R4G4B4
16 位 ARGB 无符号像素格式,每个通道 4 位。
D3DDDIFMT_R3G3B2
8 位 RGB 无符号纹理格式,红色使用 3 位,绿色使用 3 位,蓝色使用 2 位。
D3DDDIFMT_A8
仅限 8 位 alpha。
D3DDDIFMT_A8R3G3B2
16 位 ARGB 无符号纹理格式,alpha 使用 8 位,红色和绿色各使用 3 位,蓝色使用 2 位。
D3DDDIFMT_X4R4G4B4
对每种颜色使用 4 位的 16 位 RGB 无符号像素格式。
D3DDDIFMT_A2B10G10R10
32 位无符号像素格式,每种颜色使用 10 位,alpha 使用 2 位。
D3DDDIFMT_A8B8G8R8
具有 alpha 的 32 位 ARGB 无符号像素格式,每个通道使用 8 位。
D3DDDIFMT_X8B8G8R8
32 位 RGB 无符号像素格式,其中为每个颜色保留 8 位。
D3DDDIFMT_G16R16
32 位无符号像素格式,分别对绿色和红色使用 16 位。
D3DDDIFMT_A2R10G10B10
32 位无符号像素格式,每种颜色使用 10 位,alpha 使用 2 位。
D3DDDIFMT_A16B16G16R16
对每个组件使用 16 位的 64 位无符号像素格式。
D3DDDIFMT_A8P8
使用 8 位 alpha 编制索引的 8 位颜色。
D3DDDIFMT_P8
已编制索引的 8 位颜色。
D3DDDIFMT_L8
仅 8 位亮度。
D3DDDIFMT_A8L8
16 位格式,分别对 alpha 和亮度使用 8 位。
D3DDDIFMT_A4L4
8 位格式,分别对 alpha 和亮度使用 4 位。
D3DDDIFMT_V8U8
16 位有符号凹凸映射格式,每个 8 位为你和 v 数据使用 8 位。
D3DDDIFMT_L6V5U5
具有亮度的 16 位混合有符号和无符号凹凸映射格式,对 v 和 you 数据分别使用 6 位亮度和 5 位。
D3DDDIFMT_X8L8V8U8
32 位混合有符号和无符号凹凸贴图格式,每个通道使用 8 位的亮度。
D3DDDIFMT_Q8W8V8U8
对每个通道使用 8 位的 32 位有符号凹凸映射格式。
D3DDDIFMT_V16U16
32 位有符号凹凸映射格式,每个 16 位为你和 v 数据使用 16 位。
D3DDDIFMT_W11V11U10
32 位有符号凹凸映射格式,对 w 和 v 分别使用 11 位和 10 位。
D3DDDIFMT_A2W10V10U10
32 位混合有符号和无符号凹凸映射格式,对 alpha 使用 2 位,w、v 和 you 各使用 10 位。
D3DDDIFMT_UYVY
UYVY FOURCC 格式 (MAKEFOURCC (“U”、“Y”、“V”、“Y”) ) 。
D3DDDIFMT_R8G8_B8G8
RGBG FOURCC 格式 (MAKEFOURCC ('R'、'G'、'B'、'G') ) 。

类似于 UYVY (U0Y0、V0Y1、U2Y2 等) 的 16 位打包 RGB 格式。 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”) ) 。

类似于 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 纹理。 公开此格式的硬件必须将D3DCAPS9的 PixelShader1xMaxValue 成员设置为能够处理 (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
使用 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 位。
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 通道:C = sqrt (1 - U2 - V2) 。
D3DDDIFMT_A1
每像素格式的单色 1 位。
D3DDDIFMT_A2B10G10R10_XR_BIAS
在 Windows 7 及更高版本中受支持。

32 位无符号像素格式,每种颜色使用 10 位,alpha 使用 2 位以及 2.8 偏差固定点。
D3DDDIFMT_DXVACOMPBUFFER_BASE
基压缩缓冲区格式值。
D3DDDIFMT_PICTUREPARAMSDATA
图片参数解码压缩缓冲区格式。
D3DDDIFMT_MACROBLOCKDATA
宏块控制命令解码压缩缓冲区格式。
D3DDDIFMT_RESIDUALDIFFERENCEDATA
剩余块差异解码压缩缓冲区格式。
D3DDDIFMT_DEBLOCKINGDATA
解除阻止筛选器控制命令解码压缩缓冲区格式。
D3DDDIFMT_INVERSEQUANTIZATIONDATA
反量化矩阵解码压缩缓冲区格式。
D3DDDIFMT_SLICECONTROLDATA
切片控制解码压缩缓冲区格式。
D3DDDIFMT_BITSTREAMDATA
位流数据解码压缩缓冲区格式。
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