Vertex Descriptor/Remastered
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. |