Vertex Descriptor/Remastered

From Burnout Wiki

Structures

renderengine::VertexDescriptor

Offset Length Type Name Description Comments
0x0 0x4 uint32_t ? Always 1?
0x4 0x4 uint32_t ? Type flags Bits are set by indexed usage of each element (1 << usage index)
0x8 0x4 ?* ? Vertex declaration interface? nullptr in asset. Set in memory
0xC 0x1 uint8_t ? Number of elements
0xD 0x1 uint8_t ? Number of streams?
0xE 0x2 uint16_t ? Elements hash
0x10 0x10 Element[1] ? Vertex elements

renderengine::VertexDescriptor::Element

Offset Length Type Name Description Comments
0x0 0x1 uint8_t ? Semantic name index See indices
0x1 0x1 uint8_t ? Semantic index
0x2 0x1 uint8_t ? Input slot
0x3 0x1 D3D11_INPUT_CLASSIFICATION ? Input slot class
0x4 0x4 DXGI_FORMAT ? Format
0x8 0x4 uint32_t ? Offset
0xC 0x4 uint32_t ? Instance data step rate
0x10 0x4 uint32_t ? Vertex stride

Enumerations

Indexed usage

Name Value Comments
0
POSITION 1
POSITIONT 2
NORMAL 3
COLOR 4
TEXCOORD 5
TEXCOORD 6
TEXCOORD 7
TEXCOORD 8
TEXCOORD 9
TEXCOORD 10
TEXCOORD 11
TEXCOORD 12
BLENDINDICES 13
BLENDWEIGHT 14
TANGENT 15
BINORMAL 16
COLOR 17
PSIZE 18

D3D11_INPUT_CLASSIFICATION

Name Value Comments
D3D11_INPUT_PER_VERTEX_DATA 0
D3D11_INPUT_PER_INSTANCE_DATA 1

DXGI_FORMAT

From DXGI_FORMAT on Microsoft Learn.

Name Value Comments
DXGI_FORMAT_UNKNOWN 0 The format is not known.
DXGI_FORMAT_R32G32B32A32_TYPELESS 1 A four-component, 128-bit typeless format that supports 32 bits per channel including alpha.
DXGI_FORMAT_R32G32B32A32_FLOAT 2 A four-component, 128-bit floating-point format that supports 32 bits per channel including alpha.
DXGI_FORMAT_R32G32B32A32_UINT 3 A four-component, 128-bit unsigned-integer format that supports 32 bits per channel including alpha.
DXGI_FORMAT_R32G32B32A32_SINT 4 A four-component, 128-bit signed-integer format that supports 32 bits per channel including alpha.
DXGI_FORMAT_R32G32B32_TYPELESS 5 A three-component, 96-bit typeless format that supports 32 bits per color channel.
DXGI_FORMAT_R32G32B32_FLOAT 6 A three-component, 96-bit floating-point format that supports 32 bits per color channel
DXGI_FORMAT_R32G32B32_UINT 7 A three-component, 96-bit unsigned-integer format that supports 32 bits per color channel.
DXGI_FORMAT_R32G32B32_SINT 8 A three-component, 96-bit signed-integer format that supports 32 bits per color channel.
DXGI_FORMAT_R16G16B16A16_TYPELESS 9 A four-component, 64-bit typeless format that supports 16 bits per channel including alpha.
DXGI_FORMAT_R16G16B16A16_FLOAT 10 A four-component, 64-bit floating-point format that supports 16 bits per channel including alpha.
DXGI_FORMAT_R16G16B16A16_UNORM 11 A four-component, 64-bit unsigned-normalized-integer format that supports 16 bits per channel including alpha.
DXGI_FORMAT_R16G16B16A16_UINT 12 A four-component, 64-bit unsigned-integer format that supports 16 bits per channel including alpha.
DXGI_FORMAT_R16G16B16A16_SNORM 13 A four-component, 64-bit signed-normalized-integer format that supports 16 bits per channel including alpha.
DXGI_FORMAT_R16G16B16A16_SINT 14 A four-component, 64-bit signed-integer format that supports 16 bits per channel including alpha.
DXGI_FORMAT_R32G32_TYPELESS 15 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 16 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 17 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 18 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 19 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 20 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 21 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 22 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 23 A four-component, 32-bit typeless format that supports 10 bits for each color and 2 bits for alpha.
DXGI_FORMAT_R10G10B10A2_UNORM 24 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 25 A four-component, 32-bit unsigned-integer format that supports 10 bits for each color and 2 bits for alpha.
DXGI_FORMAT_R11G11B10_FLOAT 26 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.
DXGI_FORMAT_R8G8B8A8_TYPELESS 27 A four-component, 32-bit typeless format that supports 8 bits per channel including alpha.
DXGI_FORMAT_R8G8B8A8_UNORM 28 A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits per channel including alpha.
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB 29 A four-component, 32-bit unsigned-normalized integer sRGB format that supports 8 bits per channel including alpha.
DXGI_FORMAT_R8G8B8A8_UINT 30 A four-component, 32-bit unsigned-integer format that supports 8 bits per channel including alpha.
DXGI_FORMAT_R8G8B8A8_SNORM 31 A four-component, 32-bit signed-normalized-integer format that supports 8 bits per channel including alpha.
DXGI_FORMAT_R8G8B8A8_SINT 32 A four-component, 32-bit signed-integer format that supports 8 bits per channel including alpha.
DXGI_FORMAT_R16G16_TYPELESS 33 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 34 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 35 A two-component, 32-bit unsigned-normalized-integer format that supports 16 bits each for the green and red channels.
DXGI_FORMAT_R16G16_UINT 36 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 37 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 38 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 39 A single-component, 32-bit typeless format that supports 32 bits for the red channel.
DXGI_FORMAT_D32_FLOAT 40 A single-component, 32-bit floating-point format that supports 32 bits for depth.
DXGI_FORMAT_R32_FLOAT 41 A single-component, 32-bit floating-point format that supports 32 bits for the red channel.
DXGI_FORMAT_R32_UINT 42 A single-component, 32-bit unsigned-integer format that supports 32 bits for the red channel.
DXGI_FORMAT_R32_SINT 43 A single-component, 32-bit signed-integer format that supports 32 bits for the red channel.
DXGI_FORMAT_R24G8_TYPELESS 44 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 45 A 32-bit z-buffer format that supports 24 bits for depth and 8 bits for stencil.
DXGI_FORMAT_R24_UNORM_X8_TYPELESS 46 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 47 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 48 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 49 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 50 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 51 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 52 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 53 A single-component, 16-bit typeless format that supports 16 bits for the red channel.
DXGI_FORMAT_R16_FLOAT 54 A single-component, 16-bit floating-point format that supports 16 bits for the red channel.
DXGI_FORMAT_D16_UNORM 55 A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for depth.
DXGI_FORMAT_R16_UNORM 56 A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for the red channel.
DXGI_FORMAT_R16_UINT 57 A single-component, 16-bit unsigned-integer format that supports 16 bits for the red channel.
DXGI_FORMAT_R16_SNORM 58 A single-component, 16-bit signed-normalized-integer format that supports 16 bits for the red channel.
DXGI_FORMAT_R16_SINT 59 A single-component, 16-bit signed-integer format that supports 16 bits for the red channel.
DXGI_FORMAT_R8_TYPELESS 60 A single-component, 8-bit typeless format that supports 8 bits for the red channel.
DXGI_FORMAT_R8_UNORM 61 A single-component, 8-bit unsigned-normalized-integer format that supports 8 bits for the red channel.
DXGI_FORMAT_R8_UINT 62 A single-component, 8-bit unsigned-integer format that supports 8 bits for the red channel.
DXGI_FORMAT_R8_SNORM 63 A single-component, 8-bit signed-normalized-integer format that supports 8 bits for the red channel.
DXGI_FORMAT_R8_SINT 64 A single-component, 8-bit signed-integer format that supports 8 bits for the red channel.
DXGI_FORMAT_A8_UNORM 65 A single-component, 8-bit unsigned-normalized-integer format for alpha only.
DXGI_FORMAT_R1_UNORM 66 A single-component, 1-bit unsigned-normalized integer format that supports 1 bit for the red channel.
DXGI_FORMAT_R9G9B9E5_SHAREDEXP 67 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.
DXGI_FORMAT_R8G8_B8G8_UNORM 68 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 69 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 70 Four-component typeless block-compression format.
DXGI_FORMAT_BC1_UNORM 71 Four-component block-compression format.
DXGI_FORMAT_BC1_UNORM_SRGB 72 Four-component block-compression format for sRGB data.
DXGI_FORMAT_BC2_TYPELESS 73 Four-component typeless block-compression format.
DXGI_FORMAT_BC2_UNORM 74 Four-component block-compression format.
DXGI_FORMAT_BC2_UNORM_SRGB 75 Four-component block-compression format for sRGB data.
DXGI_FORMAT_BC3_TYPELESS 76 Four-component typeless block-compression format.
DXGI_FORMAT_BC3_UNORM 77 Four-component block-compression format.
DXGI_FORMAT_BC3_UNORM_SRGB 78 Four-component block-compression format for sRGB data.
DXGI_FORMAT_BC4_TYPELESS 79 One-component typeless block-compression format.
DXGI_FORMAT_BC4_UNORM 80 One-component block-compression format.
DXGI_FORMAT_BC4_SNORM 81 One-component block-compression format.
DXGI_FORMAT_BC5_TYPELESS 82 Two-component typeless block-compression format.
DXGI_FORMAT_BC5_UNORM 83 Two-component block-compression format.
DXGI_FORMAT_BC5_SNORM 84 Two-component block-compression format.
DXGI_FORMAT_B5G6R5_UNORM 85 A three-component, 16-bit unsigned-normalized-integer format that supports 5 bits for blue, 6 bits for green, and 5 bits for red.
DXGI_FORMAT_B5G5R5A1_UNORM 86 A four-component, 16-bit unsigned-normalized-integer format that supports 5 bits for each color channel and 1-bit alpha.
DXGI_FORMAT_B8G8R8A8_UNORM 87 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 88 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 89 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 90 A four-component, 32-bit typeless format that supports 8 bits for each channel including alpha.
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB 91 A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each channel including alpha.
DXGI_FORMAT_B8G8R8X8_TYPELESS 92 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 93 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 94 A typeless block-compression format.
DXGI_FORMAT_BC6H_UF16 95 A block-compression format.
DXGI_FORMAT_BC6H_SF16 96 A block-compression format.
DXGI_FORMAT_BC7_TYPELESS 97 A typeless block-compression format.
DXGI_FORMAT_BC7_UNORM 98 A block-compression format.
DXGI_FORMAT_BC7_UNORM_SRGB 99 A block-compression format.
DXGI_FORMAT_AYUV 100 Most common YUV 4:4:4 video resource format.
DXGI_FORMAT_Y410 101 10-bit per channel packed YUV 4:4:4 video resource format.
DXGI_FORMAT_Y416 102 16-bit per channel packed YUV 4:4:4 video resource format.
DXGI_FORMAT_NV12 103 Most common YUV 4:2:0 video resource format.
Width and height must be even.
DXGI_FORMAT_P010 104 10-bit per channel planar YUV 4:2:0 video resource format.
Width and height must be even.
DXGI_FORMAT_P016 105 16-bit per channel planar YUV 4:2:0 video resource format.
Width and height must be even.
DXGI_FORMAT_420_OPAQUE 106 8-bit per channel planar YUV 4:2:0 video resource format.
Width and height must be even.
DXGI_FORMAT_YUY2 107 Most common YUV 4:2:2 video resource format.
Width must be even.
DXGI_FORMAT_Y210 108 10-bit per channel packed YUV 4:2:2 video resource format.
Width must be even.
DXGI_FORMAT_Y216 109 16-bit per channel packed YUV 4:2:2 video resource format.
Width must be even.
DXGI_FORMAT_NV11 110 Most common planar YUV 4:1:1 video resource format.
Width must be a multiple of 4.
DXGI_FORMAT_AI44 111 4-bit palletized YUV format that is commonly used for DVD subpicture.
DXGI_FORMAT_IA44 112 4-bit palletized YUV format that is commonly used for DVD subpicture.
DXGI_FORMAT_P8 113 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.
DXGI_FORMAT_A8P8 114 8-bit palletized format with 8 bits of alpha that is used for palletized YUV data when the processor processes BluRay data.
DXGI_FORMAT_B4G4R4A4_UNORM 115 A four-component, 16-bit unsigned-normalized integer format that supports 4 bits for each channel including alpha.
DXGI_FORMAT_P208 130 A video format; an 8-bit version of a hybrid planar 4:2:2 format.
DXGI_FORMAT_V208 131 An 8 bit YCbCrA 4:4 rendering format.
DXGI_FORMAT_V408 132 An 8 bit YCbCrA 4:4:4:4 rendering format.
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE 133
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE 134
DXGI_FORMAT_FORCE_UINT 0xFFFFFFFF Forces this enumeration to compile to 32 bits in size. This value is not used.