Renderable/PC
Structures
Renderable
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 |
RenderableMesh
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x40 | Matrix44 | ? | Bounding box | |
0x40 | 0x18 | DrawIndexedParameters | mDrawIndexedParameters | ||
0x58 | 0x4 | MaterialAssembly* | mpMaterialAssembly | ||
0x5C | 0x1 | uint8_t | mu8NumVertexDescriptors | Number of vertex descriptors | |
0x5D | 0x1 | uint8_t | mu8InstanceCount | ||
0x5E | 0x1 | uint8_t | mu8NumVertexBuffers | Number of vertex buffers | |
0x5F | 0x1 | uint8_t | mu8Flags | Flags | Always 0? |
0x60 | 0x4 | 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 | D3DPRIMITIVETYPE | ? | Primitive type | |
0x4 | 0x4 | int32_t | ? | Base vertex index | |
0x8 | 0x4 | uint32_t | ? | Start index | |
0xC | 0x4 | uint32_t | ? | Number of indices | |
0x10 | 0x4 | uint32_t | ? | Minimum index | |
0x14 | 0x4 | uint32_t | ? | Number of primitives |
renderengine::IndexBuffer
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | ? | Number of indices | |
0x4 | 0x4 | ? | ? | Indices | |
0x8 | 0x4 | ? | ? | Null in samples | |
0xC | 0x4 | uint32_t | ? | Flags? |
renderengine::VertexBuffer
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | ? | Vertices offset | In secondary resource portion |
0x4 | 0x4 | ? | ? | Null in samples | |
0x8 | 0x4 | uint32_t | ? | Buffer length | |
0xC | 0x4 | Padding |
Enumerations
Renderable flags
Name | Value | Comments |
---|---|---|
? | 0x1 | |
? | 0x2 | |
? | 0x4 | |
? | 0x8 | |
? | 0x10 | |
? | 0x20 | |
? | 0x40 | |
? | 0x80 | |
? | 0x100 | |
? | 0x200 | |
? | 0x400 | |
? | 0x800 |
D3DPRIMITIVETYPE
From the Microsoft Learn page.
Name | Value | Comments |
---|---|---|
D3DPT_POINTLIST | 1 | Renders the vertices as a collection of isolated points. This value is unsupported for indexed primitives. |
D3DPT_LINELIST | 2 | Renders the vertices as a list of isolated straight line segments. |
D3DPT_LINESTRIP | 3 | Renders the vertices as a single polyline. |
D3DPT_TRIANGLELIST | 4 | Renders the specified vertices as a sequence of isolated triangles. Each group of three vertices defines a separate triangle. Back-face culling is affected by the current winding-order render state. |
D3DPT_TRIANGLESTRIP | 5 | Renders the vertices as a triangle strip. The backface-culling flag is automatically flipped on even-numbered triangles. |
D3DPT_TRIANGLEFAN | 6 | Renders the vertices as a triangle fan. |
D3DPT_FORCE_DWORD | 0x7FFFFFFF | Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used. |