Renderable/Remastered
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 |