Clustered Mesh/Development: Difference between revisions

From Burnout Wiki
Content added Content deleted
(ClusteredMeshCluster)
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 6: Line 6:
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x30 || [[../#rw::collision::Procedural|Procedural]] || super_Procedural || ||
| 0x0 || 0x30 || [[../#rw::collision::Procedural|Procedural]] || || Base class ||
|-
|-
| 0x30 || 0x4 || [[../#rw::collision::KDTree|KDTree]]* || mKDTree || ||
| 0x30 || 0x4 || [[../#rw::collision::KDTree|KDTree]]* || mKDTree || ||
|-
|-
| 0x34 || 0x4 || uint32_t* || mCluster || || Effectively a [[../#rw::collision::ClusteredMeshCluster|ClusteredMeshCluster]]**
| 0x34 || 0x4 || uint32_t* || mCluster || || Effectively a [[#rw::collision::ClusteredMeshCluster|ClusteredMeshCluster]]**
|-
|-
| 0x38 || 0x4 || uint32_t || mNumClusters || ||
| 0x38 || 0x4 || uint32_t || mNumClusters || ||
Line 24: Line 24:
| 0x4C || 0x4 || uint32_t || mSizeOfThis || ||
| 0x4C || 0x4 || uint32_t || mSizeOfThis || ||
|-
|-
| 0x50 || 0x2 || uint16_t || mFlags || ||
| 0x50 || 0x2 || uint16_t || mFlags || || See [[../#rw::collision::CMFlags|CMFlags]]
|-
|-
| 0x52 || 0x2 || uint16_t || mDefaultGroupId || ||
| 0x52 || 0x2 || uint16_t || mDefaultGroupId || ||
Line 58: Line 58:
| 0xA || 0x1 || uint8_t || compressionMode || || 0, 1 or 2
| 0xA || 0x1 || uint8_t || compressionMode || || 0, 1 or 2
|-
|-
| 0xB || 0x5 || uint8_t[5] || padding || ||
| 0xB || 0x5 || uint8_t[5] || Padding || ||
|-
|-
| 0x10 || 0x10 || [[Vector3|vpu::Vector3]][1] || vertexArray || Variable size data || {{Todo|Normals?}}[[../#Vertex data|Vertex data]]<br>[[../#Unit data|Unit data]]
| 0x10 || 0x10 || [[Vector3|vpu::Vector3]][1] || vertexArray || Variable size data || {{Todo|Normals?}}[[../#Vertex data|Vertex data]]<br>[[../#Unit data|Unit data]]

Latest revision as of 16:56, 17 March 2024

Structures

rw::collision::ClusteredMesh

2007-02-22

32-bit
Offset Length Type Name Description Comments
0x0 0x30 Procedural Base class
0x30 0x4 KDTree* mKDTree
0x34 0x4 uint32_t* mCluster Effectively a ClusteredMeshCluster**
0x38 0x4 uint32_t mNumClusters
0x3C 0x4 uint32_t mMaxClusters
0x40 0x4 uint32_t mNumUnits
0x44 0x4 uint32_t mMaxUnits
0x48 0x4 float32_t mVertexCompressionGranularity
0x4C 0x4 uint32_t mSizeOfThis
0x50 0x2 uint16_t mFlags See CMFlags
0x52 0x2 uint16_t mDefaultGroupId
0x54 0x2 uint16_t mDefaultSurfaceId
0x56 0x1 uint8_t mDefaultEdgeAngle
0x57 0x1 uint8_t mGroupIdSize Number of bytes 1 or 2
0x58 0x1 uint8_t mSurfaceIdSize Number of bytes 1 or 2
0x59 0x7 Padding

rw::collision::ClusteredMeshCluster

2007-02-22

Offset Length Type Name Description Comments
0x0 0x2 uint16_t unitCount
0x2 0x2 uint16_t unitDataSize
0x4 0x2 uint16_t unitDataStart The index of the vertex array where unit data starts
0x6 0x2 uint16_t normalStart The index of the vertex array where normal data starts
0x8 0x1 uint8_t vertexCount
0x9 0x1 uint8_t normalCount
0xA 0x1 uint8_t compressionMode 0, 1 or 2
0xB 0x5 uint8_t[5] Padding
0x10 0x10 vpu::Vector3[1] vertexArray Variable size data
Hmmm...
Hmmm...
To do:
Normals?
Vertex data
Unit data