DXGI_FORMAT enumeration

1649 篇文章 11 订阅
1623 篇文章 22 订阅

Resource data formats which includes fully-typed and typeless formats. There is a list of format modifiers at the bottom of the page, that more fully describes each format type.

Syntax

C++
typedef enum DXGI_FORMAT { 
  DXGI_FORMAT_UNKNOWN                     = 0,
  DXGI_FORMAT_R32G32B32A32_TYPELESS       = 1,
  DXGI_FORMAT_R32G32B32A32_FLOAT          = 2,
  DXGI_FORMAT_R32G32B32A32_UINT           = 3,
  DXGI_FORMAT_R32G32B32A32_SINT           = 4,
  DXGI_FORMAT_R32G32B32_TYPELESS          = 5,
  DXGI_FORMAT_R32G32B32_FLOAT             = 6,
  DXGI_FORMAT_R32G32B32_UINT              = 7,
  DXGI_FORMAT_R32G32B32_SINT              = 8,
  DXGI_FORMAT_R16G16B16A16_TYPELESS       = 9,
  DXGI_FORMAT_R16G16B16A16_FLOAT          = 10,
  DXGI_FORMAT_R16G16B16A16_UNORM          = 11,
  DXGI_FORMAT_R16G16B16A16_UINT           = 12,
  DXGI_FORMAT_R16G16B16A16_SNORM          = 13,
  DXGI_FORMAT_R16G16B16A16_SINT           = 14,
  DXGI_FORMAT_R32G32_TYPELESS             = 15,
  DXGI_FORMAT_R32G32_FLOAT                = 16,
  DXGI_FORMAT_R32G32_UINT                 = 17,
  DXGI_FORMAT_R32G32_SINT                 = 18,
  DXGI_FORMAT_R32G8X24_TYPELESS           = 19,
  DXGI_FORMAT_D32_FLOAT_S8X24_UINT        = 20,
  DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS    = 21,
  DXGI_FORMAT_X32_TYPELESS_G8X24_UINT     = 22,
  DXGI_FORMAT_R10G10B10A2_TYPELESS        = 23,
  DXGI_FORMAT_R10G10B10A2_UNORM           = 24,
  DXGI_FORMAT_R10G10B10A2_UINT            = 25,
  DXGI_FORMAT_R11G11B10_FLOAT             = 26,
  DXGI_FORMAT_R8G8B8A8_TYPELESS           = 27,
  DXGI_FORMAT_R8G8B8A8_UNORM              = 28,
  DXGI_FORMAT_R8G8B8A8_UNORM_SRGB         = 29,
  DXGI_FORMAT_R8G8B8A8_UINT               = 30,
  DXGI_FORMAT_R8G8B8A8_SNORM              = 31,
  DXGI_FORMAT_R8G8B8A8_SINT               = 32,
  DXGI_FORMAT_R16G16_TYPELESS             = 33,
  DXGI_FORMAT_R16G16_FLOAT                = 34,
  DXGI_FORMAT_R16G16_UNORM                = 35,
  DXGI_FORMAT_R16G16_UINT                 = 36,
  DXGI_FORMAT_R16G16_SNORM                = 37,
  DXGI_FORMAT_R16G16_SINT                 = 38,
  DXGI_FORMAT_R32_TYPELESS                = 39,
  DXGI_FORMAT_D32_FLOAT                   = 40,
  DXGI_FORMAT_R32_FLOAT                   = 41,
  DXGI_FORMAT_R32_UINT                    = 42,
  DXGI_FORMAT_R32_SINT                    = 43,
  DXGI_FORMAT_R24G8_TYPELESS              = 44,
  DXGI_FORMAT_D24_UNORM_S8_UINT           = 45,
  DXGI_FORMAT_R24_UNORM_X8_TYPELESS       = 46,
  DXGI_FORMAT_X24_TYPELESS_G8_UINT        = 47,
  DXGI_FORMAT_R8G8_TYPELESS               = 48,
  DXGI_FORMAT_R8G8_UNORM                  = 49,
  DXGI_FORMAT_R8G8_UINT                   = 50,
  DXGI_FORMAT_R8G8_SNORM                  = 51,
  DXGI_FORMAT_R8G8_SINT                   = 52,
  DXGI_FORMAT_R16_TYPELESS                = 53,
  DXGI_FORMAT_R16_FLOAT                   = 54,
  DXGI_FORMAT_D16_UNORM                   = 55,
  DXGI_FORMAT_R16_UNORM                   = 56,
  DXGI_FORMAT_R16_UINT                    = 57,
  DXGI_FORMAT_R16_SNORM                   = 58,
  DXGI_FORMAT_R16_SINT                    = 59,
  DXGI_FORMAT_R8_TYPELESS                 = 60,
  DXGI_FORMAT_R8_UNORM                    = 61,
  DXGI_FORMAT_R8_UINT                     = 62,
  DXGI_FORMAT_R8_SNORM                    = 63,
  DXGI_FORMAT_R8_SINT                     = 64,
  DXGI_FORMAT_A8_UNORM                    = 65,
  DXGI_FORMAT_R1_UNORM                    = 66,
  DXGI_FORMAT_R9G9B9E5_SHAREDEXP          = 67,
  DXGI_FORMAT_R8G8_B8G8_UNORM             = 68,
  DXGI_FORMAT_G8R8_G8B8_UNORM             = 69,
  DXGI_FORMAT_BC1_TYPELESS                = 70,
  DXGI_FORMAT_BC1_UNORM                   = 71,
  DXGI_FORMAT_BC1_UNORM_SRGB              = 72,
  DXGI_FORMAT_BC2_TYPELESS                = 73,
  DXGI_FORMAT_BC2_UNORM                   = 74,
  DXGI_FORMAT_BC2_UNORM_SRGB              = 75,
  DXGI_FORMAT_BC3_TYPELESS                = 76,
  DXGI_FORMAT_BC3_UNORM                   = 77,
  DXGI_FORMAT_BC3_UNORM_SRGB              = 78,
  DXGI_FORMAT_BC4_TYPELESS                = 79,
  DXGI_FORMAT_BC4_UNORM                   = 80,
  DXGI_FORMAT_BC4_SNORM                   = 81,
  DXGI_FORMAT_BC5_TYPELESS                = 82,
  DXGI_FORMAT_BC5_UNORM                   = 83,
  DXGI_FORMAT_BC5_SNORM                   = 84,
  DXGI_FORMAT_B5G6R5_UNORM                = 85,
  DXGI_FORMAT_B5G5R5A1_UNORM              = 86,
  DXGI_FORMAT_B8G8R8A8_UNORM              = 87,
  DXGI_FORMAT_B8G8R8X8_UNORM              = 88,
  DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM  = 89,
  DXGI_FORMAT_B8G8R8A8_TYPELESS           = 90,
  DXGI_FORMAT_B8G8R8A8_UNORM_SRGB         = 91,
  DXGI_FORMAT_B8G8R8X8_TYPELESS           = 92,
  DXGI_FORMAT_B8G8R8X8_UNORM_SRGB         = 93,
  DXGI_FORMAT_BC6H_TYPELESS               = 94,
  DXGI_FORMAT_BC6H_UF16                   = 95,
  DXGI_FORMAT_BC6H_SF16                   = 96,
  DXGI_FORMAT_BC7_TYPELESS                = 97,
  DXGI_FORMAT_BC7_UNORM                   = 98,
  DXGI_FORMAT_BC7_UNORM_SRGB              = 99,
  DXGI_FORMAT_AYUV                        = 100,
  DXGI_FORMAT_Y410                        = 101,
  DXGI_FORMAT_Y416                        = 102,
  DXGI_FORMAT_NV12                        = 103,
  DXGI_FORMAT_P010                        = 104,
  DXGI_FORMAT_P016                        = 105,
  DXGI_FORMAT_420_OPAQUE                  = 106,
  DXGI_FORMAT_YUY2                        = 107,
  DXGI_FORMAT_Y210                        = 108,
  DXGI_FORMAT_Y216                        = 109,
  DXGI_FORMAT_NV11                        = 110,
  DXGI_FORMAT_AI44                        = 111,
  DXGI_FORMAT_IA44                        = 112,
  DXGI_FORMAT_P8                          = 113,
  DXGI_FORMAT_A8P8                        = 114,
  DXGI_FORMAT_B4G4R4A4_UNORM              = 115,
  DXGI_FORMAT_P208                        = 130,
  DXGI_FORMAT_V208                        = 131,
  DXGI_FORMAT_V408                        = 132,
  DXGI_FORMAT_ASTC_4X4_UNORM              = 134,
  DXGI_FORMAT_ASTC_4X4_UNORM_SRGB         = 135,
  DXGI_FORMAT_ASTC_5X4_TYPELESS           = 137,
  DXGI_FORMAT_ASTC_5X4_UNORM              = 138,
  DXGI_FORMAT_ASTC_5X4_UNORM_SRGB         = 139,
  DXGI_FORMAT_ASTC_5X5_TYPELESS           = 141,
  DXGI_FORMAT_ASTC_5X5_UNORM              = 142,
  DXGI_FORMAT_ASTC_5X5_UNORM_SRGB         = 143,
  DXGI_FORMAT_ASTC_6X5_TYPELESS           = 145,
  DXGI_FORMAT_ASTC_6X5_UNORM              = 146,
  DXGI_FORMAT_ASTC_6X5_UNORM_SRGB         = 147,
  DXGI_FORMAT_ASTC_6X6_TYPELESS           = 149,
  DXGI_FORMAT_ASTC_6X6_UNORM              = 150,
  DXGI_FORMAT_ASTC_6X6_UNORM_SRGB         = 151,
  DXGI_FORMAT_ASTC_8X5_TYPELESS           = 153,
  DXGI_FORMAT_ASTC_8X5_UNORM              = 154,
  DXGI_FORMAT_ASTC_8X5_UNORM_SRGB         = 155,
  DXGI_FORMAT_ASTC_8X6_TYPELESS           = 157,
  DXGI_FORMAT_ASTC_8X6_UNORM              = 158,
  DXGI_FORMAT_ASTC_8X6_UNORM_SRGB         = 159,
  DXGI_FORMAT_ASTC_8X8_TYPELESS           = 161,
  DXGI_FORMAT_ASTC_8X8_UNORM              = 162,
  DXGI_FORMAT_ASTC_8X8_UNORM_SRGB         = 163,
  DXGI_FORMAT_ASTC_10X5_TYPELESS          = 165,
  DXGI_FORMAT_ASTC_10X5_UNORM             = 166,
  DXGI_FORMAT_ASTC_10X5_UNORM_SRGB        = 167,
  DXGI_FORMAT_ASTC_10X6_TYPELESS          = 169,
  DXGI_FORMAT_ASTC_10X6_UNORM             = 170,
  DXGI_FORMAT_ASTC_10X6_UNORM_SRGB        = 171,
  DXGI_FORMAT_ASTC_10X8_TYPELESS          = 173,
  DXGI_FORMAT_ASTC_10X8_UNORM             = 174,
  DXGI_FORMAT_ASTC_10X8_UNORM_SRGB        = 175,
  DXGI_FORMAT_ASTC_10X10_TYPELESS         = 177,
  DXGI_FORMAT_ASTC_10X10_UNORM            = 178,
  DXGI_FORMAT_ASTC_10X10_UNORM_SRGB       = 179,
  DXGI_FORMAT_ASTC_12X10_TYPELESS         = 181,
  DXGI_FORMAT_ASTC_12X10_UNORM            = 182,
  DXGI_FORMAT_ASTC_12X10_UNORM_SRGB       = 183,
  DXGI_FORMAT_ASTC_12X12_TYPELESS         = 185,
  DXGI_FORMAT_ASTC_12X12_UNORM            = 186,
  DXGI_FORMAT_ASTC_12X12_UNORM_SRGB       = 187,
  DXGI_FORMAT_FORCE_UINT                  = 0xffffffff
} DXGI_FORMAT;

Constants

DXGI_FORMAT_UNKNOWN

The format is not known.

DXGI_FORMAT_R32G32B32A32_TYPELESS

A four-component, 128-bit typeless format that supports 32 bits per channel including alpha. ¹

DXGI_FORMAT_R32G32B32A32_FLOAT

A four-component, 128-bit floating-point format that supports 32 bits per channel including alpha. ¹

DXGI_FORMAT_R32G32B32A32_UINT

A four-component, 128-bit unsigned-integer format that supports 32 bits per channel including alpha. ¹

DXGI_FORMAT_R32G32B32A32_SINT

A four-component, 128-bit signed-integer format that supports 32 bits per channel including alpha. ¹

DXGI_FORMAT_R32G32B32_TYPELESS

A three-component, 96-bit typeless format that supports 32 bits per color channel.

DXGI_FORMAT_R32G32B32_FLOAT

A three-component, 96-bit floating-point format that supports 32 bits per color channel.

DXGI_FORMAT_R32G32B32_UINT

A three-component, 96-bit unsigned-integer format that supports 32 bits per color channel.

DXGI_FORMAT_R32G32B32_SINT

A three-component, 96-bit signed-integer format that supports 32 bits per color channel.

DXGI_FORMAT_R16G16B16A16_TYPELESS

A four-component, 64-bit typeless format that supports 16 bits per channel including alpha.

DXGI_FORMAT_R16G16B16A16_FLOAT

A four-component, 64-bit floating-point format that supports 16 bits per channel including alpha.

DXGI_FORMAT_R16G16B16A16_UNORM

A four-component, 64-bit unsigned-normalized-integer format that supports 16 bits per channel including alpha.

DXGI_FORMAT_R16G16B16A16_UINT

A four-component, 64-bit unsigned-integer format that supports 16 bits per channel including alpha.

DXGI_FORMAT_R16G16B16A16_SNORM

A four-component, 64-bit signed-normalized-integer format that supports 16 bits per channel including alpha.

DXGI_FORMAT_R16G16B16A16_SINT

A four-component, 64-bit signed-integer format that supports 16 bits per channel including alpha.

DXGI_FORMAT_R32G32_TYPELESS

A two-component, 64-bit typeless format that supports 32 bits for the red channel and 32 bits for the green channel.

DXGI_FORMAT_R32G32_FLOAT

A two-component, 64-bit floating-point format that supports 32 bits for the red channel and 32 bits for the green channel.

DXGI_FORMAT_R32G32_UINT

A two-component, 64-bit unsigned-integer format that supports 32 bits for the red channel and 32 bits for the green channel.

DXGI_FORMAT_R32G32_SINT

A two-component, 64-bit signed-integer format that supports 32 bits for the red channel and 32 bits for the green channel.

DXGI_FORMAT_R32G8X24_TYPELESS

A two-component, 64-bit typeless format that supports 32 bits for the red channel, 8 bits for the green channel, and 24 bits are unused.

DXGI_FORMAT_D32_FLOAT_S8X24_UINT

A 32-bit floating-point component, and two unsigned-integer components (with an additional 32 bits). This format supports 32-bit depth, 8-bit stencil, and 24 bits are unused.

DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS

A 32-bit floating-point component, and two typeless components (with an additional 32 bits). This format supports 32-bit red channel, 8 bits are unused, and 24 bits are unused.

DXGI_FORMAT_X32_TYPELESS_G8X24_UINT

A 32-bit typeless component, and two unsigned-integer components (with an additional 32 bits). This format has 32 bits unused, 8 bits for green channel, and 24 bits are unused.

DXGI_FORMAT_R10G10B10A2_TYPELESS

A four-component, 32-bit typeless format that supports 10 bits for each color and 2 bits for alpha.

DXGI_FORMAT_R10G10B10A2_UNORM

A four-component, 32-bit unsigned-normalized-integer format that supports 10 bits for each color and 2 bits for alpha.

DXGI_FORMAT_R10G10B10A2_UINT

A four-component, 32-bit unsigned-integer format that supports 10 bits for each color and 2 bits for alpha.

DXGI_FORMAT_R11G11B10_FLOAT

Three partial-precision floating-point numbers encoded into a single 32-bit value (a variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There are no sign bits, and there is a 5-bit biased (15) exponent for each channel, 6-bit mantissa for R and G, and a 5-bit mantissa for B, as shown in the following illustration.

Illustration of the bits in the three partial-precision floating-point numbers

DXGI_FORMAT_R8G8B8A8_TYPELESS

A four-component, 32-bit typeless format that supports 8 bits per channel including alpha.

DXGI_FORMAT_R8G8B8A8_UNORM

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits per channel including alpha.

DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

A four-component, 32-bit unsigned-normalized integer sRGB format that supports 8 bits per channel including alpha.

DXGI_FORMAT_R8G8B8A8_UINT

A four-component, 32-bit unsigned-integer format that supports 8 bits per channel including alpha.

DXGI_FORMAT_R8G8B8A8_SNORM

A four-component, 32-bit signed-normalized-integer format that supports 8 bits per channel including alpha.

DXGI_FORMAT_R8G8B8A8_SINT

A four-component, 32-bit signed-integer format that supports 8 bits per channel including alpha.

DXGI_FORMAT_R16G16_TYPELESS

A two-component, 32-bit typeless format that supports 16 bits for the red channel and 16 bits for the green channel.

DXGI_FORMAT_R16G16_FLOAT

A two-component, 32-bit floating-point format that supports 16 bits for the red channel and 16 bits for the green channel.

DXGI_FORMAT_R16G16_UNORM

A two-component, 32-bit unsigned-normalized-integer format that supports 16 bits each for the green and red channels.

DXGI_FORMAT_R16G16_UINT

A two-component, 32-bit unsigned-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

DXGI_FORMAT_R16G16_SNORM

A two-component, 32-bit signed-normalized-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

DXGI_FORMAT_R16G16_SINT

A two-component, 32-bit signed-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

DXGI_FORMAT_R32_TYPELESS

A single-component, 32-bit typeless format that supports 32 bits for the red channel.

DXGI_FORMAT_D32_FLOAT

A single-component, 32-bit floating-point format that supports 32 bits for depth.

DXGI_FORMAT_R32_FLOAT

A single-component, 32-bit floating-point format that supports 32 bits for the red channel.

DXGI_FORMAT_R32_UINT

A single-component, 32-bit unsigned-integer format that supports 32 bits for the red channel.

DXGI_FORMAT_R32_SINT

A single-component, 32-bit signed-integer format that supports 32 bits for the red channel.

DXGI_FORMAT_R24G8_TYPELESS

A two-component, 32-bit typeless format that supports 24 bits for the red channel and 8 bits for the green channel.

DXGI_FORMAT_D24_UNORM_S8_UINT

A 32-bit z-buffer format that supports 24 bits for depth and 8 bits for stencil.

DXGI_FORMAT_R24_UNORM_X8_TYPELESS

A 32-bit format, that contains a 24 bit, single-component, unsigned-normalized integer, with an additional typeless 8 bits. This format has 24 bits red channel and 8 bits unused.

DXGI_FORMAT_X24_TYPELESS_G8_UINT

A 32-bit format, that contains a 24 bit, single-component, typeless format, with an additional 8 bit unsigned integer component. This format has 24 bits unused and 8 bits green channel.

DXGI_FORMAT_R8G8_TYPELESS

A two-component, 16-bit typeless format that supports 8 bits for the red channel and 8 bits for the green channel.

DXGI_FORMAT_R8G8_UNORM

A two-component, 16-bit unsigned-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

DXGI_FORMAT_R8G8_UINT

A two-component, 16-bit unsigned-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

DXGI_FORMAT_R8G8_SNORM

A two-component, 16-bit signed-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

DXGI_FORMAT_R8G8_SINT

A two-component, 16-bit signed-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

DXGI_FORMAT_R16_TYPELESS

A single-component, 16-bit typeless format that supports 16 bits for the red channel.

DXGI_FORMAT_R16_FLOAT

A single-component, 16-bit floating-point format that supports 16 bits for the red channel.

DXGI_FORMAT_D16_UNORM

A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for depth.

DXGI_FORMAT_R16_UNORM

A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for the red channel.

DXGI_FORMAT_R16_UINT

A single-component, 16-bit unsigned-integer format that supports 16 bits for the red channel.

DXGI_FORMAT_R16_SNORM

A single-component, 16-bit signed-normalized-integer format that supports 16 bits for the red channel.

DXGI_FORMAT_R16_SINT

A single-component, 16-bit signed-integer format that supports 16 bits for the red channel.

DXGI_FORMAT_R8_TYPELESS

A single-component, 8-bit typeless format that supports 8 bits for the red channel.

DXGI_FORMAT_R8_UNORM

A single-component, 8-bit unsigned-normalized-integer format that supports 8 bits for the red channel.

DXGI_FORMAT_R8_UINT

A single-component, 8-bit unsigned-integer format that supports 8 bits for the red channel.

DXGI_FORMAT_R8_SNORM

A single-component, 8-bit signed-normalized-integer format that supports 8 bits for the red channel.

DXGI_FORMAT_R8_SINT

A single-component, 8-bit signed-integer format that supports 8 bits for the red channel.

DXGI_FORMAT_A8_UNORM

A single-component, 8-bit unsigned-normalized-integer format for alpha only.

DXGI_FORMAT_R1_UNORM

A single-component, 1-bit unsigned-normalized integer format that supports 1 bit for the red channel. ².

DXGI_FORMAT_R9G9B9E5_SHAREDEXP

Three partial-precision floating-point numbers encoded into a single 32-bit value all sharing the same 5-bit exponent (variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There is no sign bit, and there is a shared 5-bit biased (15) exponent and a 9-bit mantissa for each channel, as shown in the following illustration. ².

Illustration of the bits in the three partial-precision floating-point numbers

DXGI_FORMAT_R8G8_B8G8_UNORM

A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the UYVY format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. ³

Width must be even.

DXGI_FORMAT_G8R8_G8B8_UNORM

A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the YUY2 format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. ³

Width must be even.

DXGI_FORMAT_BC1_TYPELESS

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC1_UNORM

Four-component block-compression format. For information about block-compression formats, seeTexture Block Compression in Direct3D 11.

DXGI_FORMAT_BC1_UNORM_SRGB

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC2_TYPELESS

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC2_UNORM

Four-component block-compression format. For information about block-compression formats, seeTexture Block Compression in Direct3D 11.

DXGI_FORMAT_BC2_UNORM_SRGB

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC3_TYPELESS

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC3_UNORM

Four-component block-compression format. For information about block-compression formats, seeTexture Block Compression in Direct3D 11.

DXGI_FORMAT_BC3_UNORM_SRGB

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC4_TYPELESS

One-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC4_UNORM

One-component block-compression format. For information about block-compression formats, seeTexture Block Compression in Direct3D 11.

DXGI_FORMAT_BC4_SNORM

One-component block-compression format. For information about block-compression formats, seeTexture Block Compression in Direct3D 11.

DXGI_FORMAT_BC5_TYPELESS

Two-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC5_UNORM

Two-component block-compression format. For information about block-compression formats, seeTexture Block Compression in Direct3D 11.

DXGI_FORMAT_BC5_SNORM

Two-component block-compression format. For information about block-compression formats, seeTexture Block Compression in Direct3D 11.

DXGI_FORMAT_B5G6R5_UNORM

A three-component, 16-bit unsigned-normalized-integer format that supports 5 bits for blue, 6 bits for green, and 5 bits for red.

Direct3D 10 through Direct3D 11:  This value is defined for DXGI. However, Direct3D 10, 10.1, or 11 devices do not support this format.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_B5G5R5A1_UNORM

A four-component, 16-bit unsigned-normalized-integer format that supports 5 bits for each color channel and 1-bit alpha.

Direct3D 10 through Direct3D 11:  This value is defined for DXGI. However, Direct3D 10, 10.1, or 11 devices do not support this format.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_B8G8R8A8_UNORM

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8-bit alpha.

DXGI_FORMAT_B8G8R8X8_UNORM

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8 bits unused.

DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM

A four-component, 32-bit 2.8-biased fixed-point format that supports 10 bits for each color channel and 2-bit alpha.

DXGI_FORMAT_B8G8R8A8_TYPELESS

A four-component, 32-bit typeless format that supports 8 bits for each channel including alpha. ⁴

DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each channel including alpha. ⁴

DXGI_FORMAT_B8G8R8X8_TYPELESS

A four-component, 32-bit typeless format that supports 8 bits for each color channel, and 8 bits are unused. ⁴

DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each color channel, and 8 bits are unused. ⁴

DXGI_FORMAT_BC6H_TYPELESS

A typeless block-compression format. ⁴ For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC6H_UF16

A block-compression format. ⁴ For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC6H_SF16

A block-compression format. ⁴ For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC7_TYPELESS

A typeless block-compression format. ⁴ For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC7_UNORM

A block-compression format. ⁴ For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_BC7_UNORM_SRGB

A block-compression format. ⁴ For information about block-compression formats, see Texture Block Compression in Direct3D 11.

DXGI_FORMAT_AYUV

Most common YUV 4:4:4 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UINT. For UAVs, an additional valid view format is DXGI_FORMAT_R32_UINT. By using DXGI_FORMAT_R32_UINT for UAVs, you can both read and write as opposed to just write for DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UINT. Supported view types are SRV, RTV, and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is V->R8, U->G8, Y->B8, and A->A8.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_Y410

10-bit per channel packed YUV 4:4:4 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R10G10B10A2_UNORM and DXGI_FORMAT_R10G10B10A2_UINT. For UAVs, an additional valid view format is DXGI_FORMAT_R32_UINT. By using DXGI_FORMAT_R32_UINT for UAVs, you can both read and write as opposed to just write for DXGI_FORMAT_R10G10B10A2_UNORM and DXGI_FORMAT_R10G10B10A2_UINT. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is U->R10, Y->G10, V->B10, and A->A2.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_Y416

16-bit per channel packed YUV 4:4:4 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R16G16B16A16_UNORM and DXGI_FORMAT_R16G16B16A16_UINT. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is U->R16, Y->G16, V->B16, and A->A16.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_NV12

Most common YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are DXGI_FORMAT_R8_UNORM and DXGI_FORMAT_R8_UINT. Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are DXGI_FORMAT_R8G8_UNORM and DXGI_FORMAT_R8G8_UINT. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R8. For chrominance data view, the mapping to the view channel is U->R8 and V->G8.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes. The first (SysMemPitch * height) bytes are the Y plane, the remaining (SysMemPitch * (height / 2)) bytes are the UV plane.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_P010

10-bit per channel planar YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are DXGI_FORMAT_R16_UNORM and DXGI_FORMAT_R16_UINT. The runtime does not enforce whether the lowest 6 bits are 0 (given that this video resource format is a 10-bit format that uses 16 bits). If required, application shader code would have to enforce this manually. From the runtime's point of view, DXGI_FORMAT_P010 is no different than DXGI_FORMAT_P016. Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are DXGI_FORMAT_R16G16_UNORM and DXGI_FORMAT_R16G16_UINT. For UAVs, an additional valid chrominance data view format is DXGI_FORMAT_R32_UINT. By using DXGI_FORMAT_R32_UINT for UAVs, you can both read and write as opposed to just write for DXGI_FORMAT_R16G16_UNORM and DXGI_FORMAT_R16G16_UINT. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R16. For chrominance data view, the mapping to the view channel is U->R16 and V->G16.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes. The first (SysMemPitch * height) bytes are the Y plane, the remaining (SysMemPitch * (height / 2)) bytes are the UV plane.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_P016

16-bit per channel planar YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are DXGI_FORMAT_R16_UNORM and DXGI_FORMAT_R16_UINT. Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are DXGI_FORMAT_R16G16_UNORM and DXGI_FORMAT_R16G16_UINT. For UAVs, an additional valid chrominance data view format is DXGI_FORMAT_R32_UINT. By using DXGI_FORMAT_R32_UINT for UAVs, you can both read and write as opposed to just write for DXGI_FORMAT_R16G16_UNORM and DXGI_FORMAT_R16G16_UINT. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R16. For chrominance data view, the mapping to the view channel is U->R16 and V->G16.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes. The first (SysMemPitch * height) bytes are the Y plane, the remaining (SysMemPitch * (height / 2)) bytes are the UV plane.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_420_OPAQUE

8-bit per channel planar YUV 4:2:0 video resource format. This format is subsampled where each pixel has its own Y value, but each 2x2 pixel block shares a single U and V value. The runtime requires that the width and height of all resources that are created with this format are multiples of 2. The runtime also requires that the left, right, top, and bottom members of any RECT that are used for this format are multiples of 2. This format differs from DXGI_FORMAT_NV12 in that the layout of the data within the resource is completely opaque to applications. Applications cannot use the CPU to map the resource and then access the data within the resource. You cannot use shaders with this format. Because of this behavior, legacy hardware that supports a non-NV12 4:2:0 layout (for example, YV12, and so on) can be used. Also, new hardware that has a 4:2:0 implementation better than NV12 can be used when the application does not need the data to be in a standard layout.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_YUY2

Most common YUV 4:2:2 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UINT. For UAVs, an additional valid view format is DXGI_FORMAT_R32_UINT. By using DXGI_FORMAT_R32_UINT for UAVs, you can both read and write as opposed to just write for DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UINT. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0->R8, U0->G8, Y1->B8, and V0->A8.

A unique valid view format for this video resource format is DXGI_FORMAT_R8G8_B8G8_UNORM. With this view format, the width of the view appears to be twice what the DXGI_FORMAT_R8G8B8A8_UNORM or DXGI_FORMAT_R8G8B8A8_UINT view would be when hardware reconstructs RGBA automatically on read and before filtering. This Direct3D hardware behavior is legacy and is likely not useful any more. With this view format, the mapping to the view channel is Y0->R8, U0-> G8[0], Y1->B8, and V0-> G8[1].

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width must be even.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_Y210

10-bit per channel packed YUV 4:2:2 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R16G16B16A16_UNORM and DXGI_FORMAT_R16G16B16A16_UINT. The runtime does not enforce whether the lowest 6 bits are 0 (given that this video resource format is a 10-bit format that uses 16 bits). If required, application shader code would have to enforce this manually. From the runtime's point of view, DXGI_FORMAT_Y210 is no different than DXGI_FORMAT_Y216. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0->R16, U->G16, Y1->B16, and V->A16.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width must be even.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_Y216

16-bit per channel packed YUV 4:2:2 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R16G16B16A16_UNORM and DXGI_FORMAT_R16G16B16A16_UINT. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0->R16, U->G16, Y1->B16, and V->A16.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width must be even.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_NV11

Most common planar YUV 4:1:1 video resource format. Valid luminance data view formats for this video resource format are DXGI_FORMAT_R8_UNORM and DXGI_FORMAT_R8_UINT. Valid chrominance data view formats (width and height are each 1/4 of luminance view) for this video resource format are DXGI_FORMAT_R8G8_UNORM and DXGI_FORMAT_R8G8_UINT. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R8. For chrominance data view, the mapping to the view channel is U->R8 and V->G8.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width must be a multiple of 4. Direct3D11 staging resources and initData parameters for this format use (rowPitch * height * 2) bytes. The first (SysMemPitch * height) bytes are the Y plane, the next ((SysMemPitch / 2) * height) bytes are the UV plane, and the remainder is padding.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_AI44

4-bit palletized YUV format that is commonly used for DVD subpicture.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_IA44

4-bit palletized YUV format that is commonly used for DVD subpicture.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_P8

8-bit palletized format that is used for palletized RGB data when the processor processes ISDB-T data and for palletized YUV data when the processor processes BluRay data.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_A8P8

8-bit palletized format with 8 bits of alpha that is used for palletized YUV data when the processor processes BluRay data.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_B4G4R4A4_UNORM

A four-component, 16-bit unsigned-normalized integer format that supports 4 bits for each channel including alpha.

Direct3D 11.1:  This value is not supported until Windows 8.

DXGI_FORMAT_P208

A video format; an 8-bit version of a hybrid planar 4:2:2 format.

DXGI_FORMAT_V208

An 8 bit YCbCrA 4:4 rendering format.

DXGI_FORMAT_V408

An 8 bit YCbCrA 4:4:4:4 rendering format.

DXGI_FORMAT_ASTC_4X4_UNORM

ASTC (Adaptive Scalable Texture Compression) format, with a block size of 4 (width) x 4 (height) pixels - the highest quality, but lowest compression. The 12 x 12 formats have the greatest compression, and lowest quality. The error color magenta (1.0, 0.0, 1.0, 1.0) is used when a non-valid ASTC block is decoded. ASTC provides developers with greater control over the size verses quality tradeoff with textures. ASTC is a lossy format, but one that is designed to provide an inexpensive route to greater quality textures. The idea is that a developer can choose the optimum format without having to support multiple compression schemes.

DXGI_FORMAT_ASTC_4X4_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_5X4_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_5X4_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_5X4_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_5X5_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_5X5_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_5X5_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_6X5_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_6X5_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_6X5_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_6X6_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_6X6_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_6X6_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_8X5_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_8X5_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_8X5_UNORM_SRGB

Adaptive Scalable Texture Compression.

DXGI_FORMAT_ASTC_8X6_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_8X6_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_8X6_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_8X8_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_8X8_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_8X8_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X5_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X5_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X5_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X6_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X6_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X6_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X8_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X8_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X8_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X10_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X10_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_10X10_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_12X10_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_12X10_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_12X10_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_12X12_TYPELESS

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_12X12_UNORM

Adaptive Scalable Texture Compression

DXGI_FORMAT_ASTC_12X12_UNORM_SRGB

Adaptive Scalable Texture Compression

DXGI_FORMAT_FORCE_UINT

Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.

Remarks

A few formats have additional restrictions.

  1. A resource declared with the DXGI_FORMAT_R32G32B32 family of formats cannot be used simultaneously for vertex and texture data. That is, you may not create a buffer resource with the DXGI_FORMAT_R32G32B32 family of formats that uses any of the following bind flags: D3D10_BIND_VERTEX_BUFFER, D3D10_BIND_INDEX_BUFFER, D3D10_BIND_CONSTANT_BUFFER, or D3D10_BIND_STREAM_OUTPUT (seeD3D10_BIND_FLAG).
  2. DXGI_FORMAT_R1_UNORM is designed specifically for text filtering, and must be used with a format-specific, configurable 8x8 filter mode. When calling an HLSL sampling function using this format, the address offset parameter must be set to (0,0).
  3. A resource using a sub-sampled format (such as DXGI_FORMAT_R8G8_B8G8) must have a size that is a multiple of 2 in the x dimension.
  4. Format is not available in Direct3D 10 and Direct3D 10.1

The following topics provide lists of the formats that particular hardware feature levels support:

For a list of the DirectXMath types that map to DXGI_FORMAT values, see DirectXMath Library Internals.

Format Modifiers

Each enumeration value contains a format modifier which describes the data type.

Format Modifiers Description
_FLOAT A floating-point value; 32-bit floating-point formats use IEEE 754 single-precision (s23e8 format): sign bit, 8-bit biased (127) exponent, and 23-bit mantissa. 16-bit floating-point formats use half-precision (s10e5 format): sign bit, 5-bit biased (15) exponent, and 10-bit mantissa.
_SINT Two's complement signed integer. For example, a 3-bit SINT represents the values -4, -3, -2, -1, 0, 1, 2, 3.
_SNORM Signed normalized integer; which is interpreted in a resource as a signed integer, and is interpreted in a shader as a signed normalized floating-point value in the range [-1, 1]. For an 2's complement number, the maximum value is 1.0f (a 5-bit value 01111 maps to 1.0f), and the minimum value is -1.0f (a 5-bit value 10000 maps to -1.0f). In addition, the second-minimum number maps to -1.0f (a 5-bit value 10001 maps to -1.0f). The resulting integer representations are evenly spaced floating-point values in the range (-1.0f...0.0f), and also a complementary set of representations for numbers in the range (0.0f...1.0f).
_SRGB Standard RGB data, which roughly displays colors in a linear ramp of luminosity levels such that an average observer, under average viewing conditions, can view them on an average display.

All 0's maps to 0.0f, and all 1's maps to 1.0f. The sequence of unsigned integer encodings between all 0's and all 1's represent a nonlinear progression in the floating-point interpretation of the numbers between 0.0f to 1.0f. For more detail, see the SRGB color standard, IEC 61996-2-1, at IEC (International Electrotechnical Commission).

Conversion to or from sRGB space is automatically done by D3DX10 or D3DX9 texture-load functions. If a format with _SRGB has an A channel, the A channel is stored in Gamma 1.0f data; the R, G, and B channels in the format are stored in Gamma 2.2f data.
_TYPELESS Typeless data, with a defined number of bits. Typeless formats are designed for creating typeless resources; that is, a resource whose size is known, but whose data type is not yet fully defined. When a typeless resource is bound to a shader, the application or shader must resolve the format type (which must match the number of bits per component in the typeless format).

A typeless format contains one or more subformats; each subformat resolves the data type. For example, in the R32G32B32 group, which defines types for three-component 96-bit data, there is one typeless format and three fully typed subformats.

    DXGI_FORMAT_R32G32B32_TYPELESS,
    DXGI_FORMAT_R32G32B32_FLOAT,
    DXGI_FORMAT_R32G32B32_UINT,
    DXGI_FORMAT_R32G32B32_SINT,


_UINT Unsigned integer. For instance, a 3-bit UINT represents the values 0, 1, 2, 3, 4, 5, 6, 7.
_UNORM Unsigned normalized integer; which is interpreted in a resource as an unsigned integer, and is interpreted in a shader as an unsigned normalized floating-point value in the range [0, 1]. All 0's maps to 0.0f, and all 1's maps to 1.0f. A sequence of evenly spaced floating-point values from 0.0f to 1.0f are represented. For instance, a 2-bit UNORM represents 0.0f, 1/3, 2/3, and 1.0f.

 

New Resource Formats

Direct3D 10 offers new data compression formats for compressing high-dynamic range (HDR) lighting data, normal maps and heightfields to a fraction of their original size. These compression types include:

  • Shared-Exponent high-dynamic range (HDR) format (RGBE)
  • New Block-Compressed 1-2 channel UNORM/SNORM formats

The block compression formats can be used for any of the 2D or 3D texture types ( Texture2D, Texture2DArray, Texture3D, or TextureCube) including mipmap surfaces. The block compression techniques require texture dimensions to be a multiple of 4 (since the implementation compresses on blocks of 4x4 texels). In the texture sampler, compressed formats are always decompressed before texture filtering.

Requirements

Header

DXGIFormat.h

See also

DXGI Enumerations

 

 

Community Additions

ADD

Missing enums

DXGI_FORMAT_ASTC_4X4_TYPELESS (value 133) is missing on this list.


It also looks like enums 116 to 129 are missing, or are they reserved fields ?


I see you've also reserved one enum value for each ASTC compression block, is this intended for HDR (or is HDR currently supported in non-sRGB types? I though they are LDR?).

6/7/2015

Please describe the byte order of each format on big-endian systems

Please describe the byte order of each format on big-endian systems. 
2/3/2015

What is equivalent color format of GDI+ PixelFormat32bppARGB in Direct2D?

ARGB, RGBA, BGRA, ABGR are all different, right?


Currently a project I'm working on contains lots of code in GDI/GDI+ as well as our own internal format.
However, I found out that Gdiplus::Bitmap is created linked with our own pixel buffer with PixelFormat32bppARGB, pixel format.
Then, it means our internal pixel buffer format is in 32bit ARGB ( equivalent to A8R8G8B8 notation ). 
However, in DXGI format (
https://msdn.microsoft.com/en-us/library/windows/desktop/bb173059%28v=vs.85%29.aspx), there is not such ARGB format. But I'm not still sure. Because there are some people who calls ARGB as BGRA because ARGB in human's concept or big endian system is BGRA in little endian system. If so, then those two, i.e. ARGB is same to BGRA. But, I also know that there is actually BGRA in big endian system.

So, what DXGI format matches PixelFormat32bppARGB of GDI+?
If there is no such format in DXGI, is there a function to convert DXGI format to ARGB format for GDI+?
I may end up writing my own color format converter, but if there is one in either GDI+ or Direct2D, I would like to use it.

Thank you.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值