Commit Graph

116 Commits

Author SHA1 Message Date
Семенов Иван 62ebb2298e Optimisation: disable position snapping for FindStraightPath 2025-03-06 16:31:06 +03:00
wrenge 0b888b16fb Merge branch 'risky_optimizations' 2024-11-14 12:40:22 +03:00
wrenge 088edcd655 Intersection query alloc fix 2024-11-14 12:40:03 +03:00
wrenge 7de4b51135 Merge branch 'risky_optimizations' 2024-11-13 16:19:06 +03:00
wrenge 4824f29db7 Non alloc raycast 2024-11-13 15:51:02 +03:00
wrenge 0876d3adcf Merge branch 'risky_optimizations' 2024-11-13 13:55:25 +03:00
wrenge 815a83e3cb Use precached queue instead of linked list 2024-11-13 13:42:43 +03:00
wrenge 2397f23fc3 Queries change 2024-11-12 16:56:11 +03:00
wrenge ff930712ee Use rented array instead of allocating 2024-11-12 11:18:14 +03:00
wrenge 6fe6844efd Span access 2024-11-11 14:26:35 +03:00
wrenge c8104cec4d Replaced arrays with spans in query. Replaced array allocation with buffer rent in query. 2024-11-11 14:19:43 +03:00
wrenge 724be6f3b2 Backport 20a86b5bae 2024-11-11 11:34:47 +03:00
ikpil ea437ef020 Changed bmin/bmax from int[] to RcVec3i for improved memory efficiency 2024-10-13 16:30:52 +09:00
ikpil bc7818a1c5 [Upstream] fix: Fix raycast shortcuts (@Sarofc)
Raycast is performed in 2d and it might report reaching the given position even if the Y coordinate is different than the target. Therefore, it is necessary to check what poly is actually hit by raycast before taking a shortcut.

- https://github.com/recast4j/recast4j/issues/196
- https://github.com/recast4j/recast4j/pull/197
- https://github.com/ikpil/DotRecast/issues/72
2024-07-18 20:06:36 +09:00
ikpil cf7aec90ee Changed DtNavMeshQuery.GetPolyWallSegments() to use Span<T> for enhanced performance, memory efficiency. 2024-07-16 22:19:41 +09:00
ikpil 84419b1d52 Changed memory handling to use stackalloc in DtNavMeshQuery.GetPolyWallSegments for reducing SOH
Refactored to use stack-allocated Span<DtSegInterval> instead of dynamically allocating List<DtSegInterval>. This reduces potential heap allocations and improves performance by efficiently managing memory within a fixed size context.
2024-07-14 23:51:04 +09:00
ikpil fa2ff6f133 comment 2024-07-04 01:14:31 +09:00
ikpil 35f5c63d77 DtStraightPathFlags int to byte 2024-06-25 00:17:07 +09:00
ikpil e5d5867c56 rename RcVecUtils to RcVec 2024-06-25 00:02:59 +09:00
ikpil ed7173dd51 Removed RcVecUtils.Min(), RcVecUtils.Max() 2024-06-08 14:21:38 +09:00
ikpil 34d2ef639a update `DotRecast Copyright (c) 2023-2024 Choi Ikpil ikpil@naver.com` 2024-05-25 22:42:57 +09:00
ikpil e6f515f08a update comment 2024-05-25 21:37:04 +09:00
ikpil 1b4f5af155 update comment 2024-05-24 22:14:57 +09:00
ikpil 99224251dc Changed `List<DtStraightPath>` to `Span<DtStraightPath>` for enhanced memory efficiency 2024-05-23 21:19:16 +09:00
ikpil c7f03d00ff Changed `Dictionary<int, List<DtMeshTile>>` to `DtMeshTile[]` to optimize memory usage 2024-05-22 01:34:11 +09:00
ikpil ec9ebe28b9 long[] -> Span<long> 2024-05-20 00:16:36 +09:00
ikpil c9a54d4b4e Added `DtCollectPolysQuery` and `FindCollectPolyTest` 2024-05-19 09:16:25 +09:00
ikpil 3808c13876 Changed `IDtPolyQuery` interface to make `Process()` more versatile 2024-05-18 14:50:22 +09:00
ikpil c3208f7968 changed polyLinks to firstLinks 2024-05-17 23:46:48 +09:00
ikpil 40306a5302 rename RcRecast, DtDetour 2024-05-12 01:11:03 +09:00
ikpil 61e7b7a443 update RandomPointInConvexPoly() 2024-05-12 00:25:53 +09:00
ikpil e926c23195 SOH #41 2024-05-09 00:34:22 +09:00
ikpil cfdcc1336c preparatory work to resolve the SOH issue during path merging. 2024-05-08 00:25:32 +09:00
ikpil a5a101c0c2 SOH allocation issues
https://github.com/ikpil/DotRecast/issues/41
2024-05-03 22:00:51 +09:00
ikpil bef346a8cb SOH
https://github.com/ikpil/DotRecast/issues/41
2024-05-03 00:31:10 +09:00
ikpil 9e9a3f0dc2 SOH
https://github.com/ikpil/DotRecast/issues/41
2024-05-03 00:19:12 +09:00
ikpil 29fab9f5b2 soh-1 2024-04-30 00:13:52 +09:00
wreng b67ebeaec3 Added stackalloc where it's acceptable 2024-03-06 01:12:11 +09:00
ikpil 3ce4f59002 rese DtNode in DtNodePool 2024-02-13 13:53:43 +09:00
ikpil 9ef3c4ba30 replace comment 2024-02-06 00:50:06 +09:00
ikpil bf83597c1e added DtNodePool.GetNode, FindNode, FindNodes tests 2024-02-02 00:29:58 +09:00
ikpil dbb03988f5 fix: DtRaycastHit SOH issue reslove 2024-02-01 13:59:22 +09:00
ikpil aaff85b229 fix: Change DtRaycastHit class to struct to resolve SOH issue. step2 2024-02-01 13:59:22 +09:00
ikpil 648d7bd703 update comments 2024-01-07 12:53:28 +09:00
c0nd3v b1db6df033 Fix typo 2023-12-23 11:14:00 +09:00
ikpil 69c8c950d2 refactor: add type-safe array copy function 2023-11-11 13:08:52 +09:00
ikpil 2e7a75624c refactor: vector3 2023-10-27 23:52:55 +09:00
ikpil 93b6b52b8f refactor RcVec3f.IsFinite 2023-10-27 00:01:52 +09:00
ikpil 9a62fbf9f4 refactor: RcVec3f.Mad, IsFinite, Lerp 2023-10-26 00:05:00 +09:00
ikpil 7eba4e0c9d refactor: RcVec3f.Min/Max 2023-10-25 23:44:01 +09:00