branchrust_reboot/main/ai_recast_integrationcancel
26 Commits over 31 Days - 0.03cph!
Submit navmesh display line material
Use submeshes instead of 2 separate meshes for nav triangles and nav lines
Replace calls to DDraw.Line with Graphicss.RenderMesh of a MeshTopology.Lines mesh, greatly reducing GC pressure
Reduce navmesh draw allocs again
Further optimize navmesh drawing
Optimize navmesh debug view
Complete client navmesh drawing
Make it possible for admins to see the navmesh
Add command to draw navmesh in game
Generate tiles in chunks to avoid potentialyl running out of memory on massive maps
Fix navmesh not generating properly with mesh colliders
Use more appropriate collision masks for navmesh geo gathering
Cache mesh colliders, replace lists with fpnativelists to avoid an additional copy when marshalling
Multithread filtering triangles out of tile bounds, and transforming the triangles from mesh space to world space
Fix fuel tank mesh collider not being readable
Remove some more allocations and add more profiling
Multi-thread navmesh building, making the recast side computations almost negligible
Separate navigation building steps so it's easier to multi-thread
Add option to build navmesh asynchronously, add more profile markers
Speed up navmesh generation by using arraypool instead of a massive buffer
Fix memory leak and add more profiler coverage
Add option to disable verbose log and add profiler markers, reduce gc allocs
Save and load navmesh as part of boostrap and saverestore flow, lower voxel size for tiles that only contain terrain
Display the navmesh as a mesh instead of a gizmo, remove runtime allocations
Add recast DLL with custom bindings