recast update

Added chunkytrimesh - this class splits up the geometry the navmesh is interested in into kdtree for fast traversal, makes the actual navmesh generation work with smaller chunks.

Now only 1 RecastPolylist per navmesh this can be saved out in a future commit.

This is a history commit, all functionality works same as it did before but it matches recasts recommended setup more closely. Future additions may break backwards compatibility.
This commit is contained in:
marauder2k7 2025-07-22 14:39:36 +01:00
parent 26ebdd093b
commit d4d552e8e0
8 changed files with 800 additions and 215 deletions

View file

@ -366,9 +366,6 @@ private:
/// @name Intermediate data
/// @{
/// Config struct.
rcConfig cfg;
/// Updates our config from console members.
void updateConfig();
@ -419,6 +416,18 @@ private:
/// Use this object to manage update events.
static SimObjectPtr<EventManager> smEventManager;
protected:
RecastPolyList* m_geo;
unsigned char* m_triareas;
rcHeightfield* m_solid;
rcCompactHeightfield* m_chf;
rcContourSet* m_cset;
rcPolyMesh* m_pmesh;
rcPolyMeshDetail* m_dmesh;
rcConfig m_cfg;
void cleanup();
};
typedef NavMesh::WaterMethod NavMeshWaterMethod;