Texture/Remastered

From Burnout Wiki

Structures

At least partially derived from D3DX11_IMAGE_INFO or a related structure.

Header

32-bit

Offset Length Type Name Description Comments
0x0 0x4 Texture interface* ? Texture interface nullptr in file. The game sets this pointer in memory.
The interface is chosen by the texture type.
0x4 0x4 D3D11_USAGE ? Usage
0x8 0x4 int32_t ? Dimension See dimension
0xC 0x4 void* ? Pixel data Offset in file. The game sets this pointer in memory.
0x10 0x4 ID3D11ShaderResourceView* ? Shader resource view interface nullptr in file. The game sets this pointer in memory.
0x14 0x4 ID3D11ShaderResourceView* ? nullptr in file. The game sets this pointer in memory.
0x18 0x4 ? ?
0x1C 0x4 DXGI_FORMAT Format A DXGI_FORMAT enumeration specifying the format the texture will be in after it is loaded.
0x20 0x4 uint32_t ? Flags See flags
0x24 0x2 uint16_t Width The target width of the texture. If the actual width of the texture is larger or smaller than this value then the texture will be scaled up or down to fit this target width.
0x26 0x2 uint16_t Height The target height of the texture. If the actual height of the texture is larger or smaller than this value then the texture will be scaled up or down to fit this target height.
0x28 0x2 uint16_t Depth The depth of the texture. This only applies to volume textures.
0x2A 0x2 uint16_t ArraySize The number of elements in the array.
0x2C 0x1 uint8_t MostDetailedMip Index of the most detailed mipmap level to use.
0x2D 0x1 uint8_t MipLevels The maximum number of mipmap levels in the texture.
0x2E 0x2 ? ?
0x30 0x4 void* ?
0x34 0x4 uint32_t ? Array index Must be less than 32
0x38 0x4 uint32_t ? Contents size Size of the texture data. Used on PS4 and NX
0x3C 0x4 void* ? Texture data nullptr in file. Set in memory. Used on PS4

64-bit

Offset Length Type Name Description Comments
0x0 0x8 Texture interface* ? Texture interface nullptr in file. The game sets this pointer in memory.
The interface is chosen by the texture type.
0x8 0x4 ? ?
0xC 0x4 ? ?
0x10 0x8 void* ? Pixel data Offset in file. The game sets this pointer in memory.
0x18 0x8 ID3D11ShaderResourceView* ? Shader resource view interface nullptr in file. The game sets this pointer in memory.
0x20 0x8 ID3D11ShaderResourceView* ? nullptr in file. The game sets this pointer in memory.
0x28 0x4 ? ?
0x2C 0x4 DXGI_FORMAT Format A DXGI_FORMAT enumeration specifying the format the texture will be in after it is loaded.
0x30 0x4 uint32_t ? Flags
0x34 0x2 uint16_t Width The target width of the texture. If the actual width of the texture is larger or smaller than this value then the texture will be scaled up or down to fit this target width.
0x36 0x2 uint16_t Height The target height of the texture. If the actual height of the texture is larger or smaller than this value then the texture will be scaled up or down to fit this target height.
0x38 0x2 uint16_t Depth The depth of the texture. This only applies to volume textures.
0x3A 0x2 uint16_t ArraySize The number of elements in the array.
0x3B 0x1 uint8_t MostDetailedMip Index of the most detailed mipmap level to use.
0x3C 0x1 uint8_t MipLevels The maximum number of mipmap levels in the texture.
0x3E 0x2 ? ?
0x40 0x8 void* ?
0x48 0x4 ? ?
0x4C 0x4 uint32_t ? Contents size Size of the texture data. Used on PS4 and NX
0x50 0x8 void* ? Texture data nullptr in file. Set in memory. Used on PS4

Unions

Texture interface

Anonymous union.

32-bit

Length Type Name Description Comments
0x4 ID3D11Resource* m_resource Resource interface
0x4 ID3D11Texture1D* m_texture1d 1D texture interface
0x4 ID3D11Texture2D* m_texture2d 2D texture interface
0x4 ID3D11Texture3D* m_texture3d 3D texture interface

64-bit

Length Type Name Description Comments
0x8 ID3D11Resource* m_resource Resource interface
0x8 ID3D11Texture1D* m_texture1d 1D texture interface
0x8 ID3D11Texture2D* m_texture2d 2D texture interface
0x8 ID3D11Texture3D* m_texture3d 3D texture interface

Enumerations

D3D11_USAGE

From D3D11_USAGE on Microsoft Learn.

Name Value Comments
D3D11_USAGE_DEFAULT 0
D3D11_USAGE_IMMUTABLE 1
D3D11_USAGE_DYNAMIC 2
D3D11_USAGE_STAGING 3

Dimension

Name Value Comments
? 6 1D texture
? 7 2D texture
? 8 3D texture
? 9 Cube texture

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.

Flags

Name Value Comments
? 0x1
? 0x2
? 0x4
? 0x8
? 0x10
? 0x20
? 0x40
? 0x80
? 0x100
? 0x200