Renderable/Remastered

From Burnout Wiki

Structures

Renderable

32-bit

Offset Length Type Name Description Comments
0x0 0x10 Vector3Plus mBoundingSphere
0x10 0x2 uint16_t mu16VersionNumber Version 11
0x12 0x2 uint16_t mu16NumMeshes Number of meshes
0x14 0x4 RenderableMesh** mppMeshes Meshes
0x18 0x4 ObjectScopeTextureInfo* mpObjectScopeTextureInfo Unused
0x1C 0x2 uint16_t mu16Flags Flags See flags
0x1E 0x2 Padding
0x20 0x4 IndexBuffer* ? Index buffer
0x24 0x4 VertexBuffer* ? Vertex buffer

64-bit

Offset Length Type Name Description Comments
0x0 0x10 Vector3Plus mBoundingSphere
0x10 0x2 uint16_t mu16VersionNumber Version 11
0x12 0x2 uint16_t mu16NumMeshes Number of meshes
0x14 0x4 Padding
0x18 0x8 RenderableMesh** mppMeshes Meshes
0x20 0x8 ObjectScopeTextureInfo* mpObjectScopeTextureInfo Unused
0x28 0x2 uint16_t mu16Flags Flags See flags
0x2A 0x6 Padding
0x30 0x8 IndexBuffer* ? Index buffer
0x38 0x8 VertexBuffer* ? Vertex buffer

RenderableMesh

32-bit

Offset Length Type Name Description Comments
0x0 0x40 Matrix44 ? Bounding box
0x40 0x10 DrawIndexedParameters mDrawIndexedParameters
0x50 0x4 MaterialAssembly* mpMaterialAssembly
0x54 0x1 uint8_t mu8NumVertexDescriptors Number of vertex descriptors
0x55 0x1 uint8_t mu8InstanceCount
0x56 0x1 uint8_t mu8NumVertexBuffers Number of vertex buffers
0x57 0x1 uint8_t mu8Flags Flags Always 0?
0x58 0x4 void*[1] maBuffers Buffers Index buffers, then vertex buffers, then vertex descriptors.
See IndexBuffer and VertexBuffer

64-bit

Offset Length Type Name Description Comments
0x0 0x40 Matrix44 ? Bounding box
0x40 0x10 DrawIndexedParameters mDrawIndexedParameters
0x50 0x8 MaterialAssembly* mpMaterialAssembly
0x58 0x1 uint8_t mu8NumVertexDescriptors Number of vertex descriptors
0x59 0x1 uint8_t mu8InstanceCount
0x5A 0x1 uint8_t mu8NumVertexBuffers Number of vertex buffers
0x5B 0x1 uint8_t mu8Flags Flags Always 0?
0x5C 0x4 Padding
0x60 0x8 void*[1] maBuffers Buffers Index buffers, then vertex buffers, then vertex descriptors.
See IndexBuffer and VertexBuffer

DrawIndexedParameters

Offset Length Type Name Description Comments
0x0 0x4 D3D11_PRIMITIVE_TOPOLOGY ? Primitive topology
0x4 0x4 int32_t ? Base vertex index
0x8 0x4 uint32_t ? Start index
0xC 0x4 uint32_t ? Number of indices

renderengine::IndexBuffer

32-bit

Offset Length Type Name Description Comments
0x0 0x14 Buffer ? Buffer info
0x4 0x4 uint32_t ? Index size 2 or 4 bytes

64-bit

Offset Length Type Name Description Comments
0x0 0x1C Buffer ? Buffer info
0x4 0x4 uint32_t ? Index size 2 or 4 bytes

renderengine::VertexBuffer

32-bit

Offset Length Type Name Description Comments
0x0 0x14 Buffer ? Buffer info
0x4 0x4 ? ?
0x4 0x4 ? ?

64-bit

Offset Length Type Name Description Comments
0x0 0x1C Buffer ? Buffer info
0x4 0x4 ? ?
0x4 0x4 ? ?

Buffer

32-bit

Offset Length Type Name Description Comments
0x0 0x4 ID3D11Buffer* ? Buffer Interface Set at runtime
See the Microsoft Learn page
0x4 0x4 D3D11_USAGE ? Usage Always D3D11_USAGE_IMMUTABLE
0x8 0x4 int32_t ? Type See buffer type
0xC 0x4 void* ? Data offset
0x10 0x4 uint32_t ? Data size

64-bit

Offset Length Type Name Description Comments
0x0 0x8 ID3D11Buffer* ? Buffer Interface Set at runtime
See the Microsoft Learn page
0x8 0x4 D3D11_USAGE ? Usage hardcoded to D3D11_USAGE_IMMUTABLE
0xC 0x4 int32_t ? Type See buffer type
0x10 0x8 void* ? Data offset
0x18 0x4 uint32_t ? Data size

Enumerations

Renderable flags

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

D3D11_PRIMITIVE_TOPOLOGY

From the Microsoft Learn page.

Name Value Comments
D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED 0 The IA stage has not been initialized with a primitive topology. The IA stage will not function properly unless a primitive topology is defined.
D3D11_PRIMITIVE_TOPOLOGY_POINTLIST 1 Interpret the vertex data as a list of points.
D3D11_PRIMITIVE_TOPOLOGY_LINELIST 2 Interpret the vertex data as a list of lines.
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP 3 Interpret the vertex data as a line strip.
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST 4 Interpret the vertex data as a list of triangles.
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP 5 Interpret the vertex data as a triangle strip.
D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ 10 Interpret the vertex data as list of lines with adjacency data.
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ 11 Interpret the vertex data as line strip with adjacency data.
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ 12 Interpret the vertex data as list of triangles with adjacency data.
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ 13 Interpret the vertex data as triangle strip with adjacency data.
D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST 33 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST 34 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST 35 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST 36 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST 37 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST 38 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST 39 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST 40 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST 41 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST 42 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST 43 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST 44 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST 45 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST 46 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST 47 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST 48 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST 49 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST 50 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST 51 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST 52 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST 53 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST 54 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST 55 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST 56 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST 57 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST 58 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST 59 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST 60 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST 61 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST 62 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST 63 Interpret the vertex data as a patch list.
D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST 64 Interpret the vertex data as a patch list.

D3D11_USAGE

From the Microsoft Learn page.

Name Value Comments
D3D11_USAGE_DEFAULT 0 A resource that requires read and write access by the GPU. This is likely to be the most common usage choice.
D3D11_USAGE_IMMUTABLE 1 A resource that can only be read by the GPU. It cannot be written by the GPU, and cannot be accessed at all by the CPU. This type of resource must be initialized when it is created, since it cannot be changed after creation.
D3D11_USAGE_DYNAMIC 2 A resource that is accessible by both the GPU (read only) and the CPU (write only). A dynamic resource is a good choice for a resource that will be updated by the CPU at least once per frame. To update a dynamic resource, use a Map method.
D3D11_USAGE_STAGING 3 A resource that supports data transfer (copy) from the GPU to the CPU.

Buffer type

Name Value Comments
? 2 Vertex buffer
? 3 Index buffer
? 4 Constant buffer