Commit Graph

16 Commits (84f8a6848a8b05502d7618ca7af8cca74f2c3bae)

Author SHA1 Message Date
elsid b1fb42a28c
Cleanup detournavigator includes 2 years ago
elsid 1a5932a669
Move std::ostream& operator<< to .cpp 3 years ago
elsid 96eb8d7be9
Write generated navmesh to navmeshdb
Perform all request to db in a single thread to avoid blocking navmesh
generator threads due to slow write operations.

Write to db navmesh for all changes except update as it done for memory cache.

Batch multiple db operations into a single transaction to speed up writing by
not executing fsync after each insert/update query. All reads are performed in
the same transaction so they see uncommited data.
3 years ago
elsid 3c41d0efc3
Render each navmesh tile independently 3 years ago
elsid 6b7363bd59
Replace generation and revision by version 3 years ago
elsid 9460a8760e
Move operator<< for UpdateNavMeshStatus to header 3 years ago
elsid beeb882ea8
Do not use off mesh connections as a part of navmesh cache key
To reduce cache size and make it more flexible.

Adding off mesh connections to the navmesh is the last step of navmesh
generation and it's very fast comparing to other steps (microseconds vs
milliseconds). Having less cache size makes get and set operations almost 2x
times faster that also have an order of microseconds. So in total there is
no performance impact.
4 years ago
elsid 62f32f4543
Do not replace equivalent navmesh tiles 4 years ago
elsid f637dc38bd
Add cached flag to update navmesh status 4 years ago
elsid 7d73e73cad
Consider tile as not removed when it is not found 4 years ago
elsid 614d5243c3
Make NavMeshCacheItem consistent
Move all logic related to this type into its methods.
6 years ago
elsid ccc709a316
Store guarded navmesh cache item in shared_ptr
Remove useless SharedGuarded type.
6 years ago
elsid ed73d130f9
Cache navmesh tiles
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.

Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.
6 years ago
elsid d2fd9abd51
Split RecastMesh into tiles 6 years ago
elsid dbb1d99bff
Add NavMeshItem generation to fix update NavMesh for render 6 years ago
elsid dd5f4498f6
Increment NavMesh revision on remove or add tile 6 years ago