Commit Graph

65 Commits

Author SHA1 Message Date
ikpil ea437ef020 Changed bmin/bmax from int[] to RcVec3i for improved memory efficiency 2024-10-13 16:30:52 +09:00
ikpil 85e2484505 fix: Support non-tiled dynamic nav meshes (@ppiastucki)
[Upstream] from recast4j
- fe071aa - fix: Support non-tiled dynamic nav meshes (#205)
2024-09-21 03:13:51 +09:00
ikpil 2d0e2f8525 Fix dynamic mesh bounds calculation #77
recast4j
- https://github.com/recast4j/recast4j/issues/203
- https://github.com/recast4j/recast4j/pull/204
2024-09-21 02:54:01 +09:00
ikpil 153b523ea7 changelog 2024-08-04 18:15:16 +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 c562f8f6a1 Changed new RcVec3f[3] to stackalloc RcVec3f[3] in DtNavMesh.GetPolyHeight() to reduce heap allocation. 2024-07-14 00:09:08 +09:00
ikpil 990dbcf97f Changed data structure of 'neis' from List<byte> to byte[] for optimized memory usage and improved access speed in `DtLayerMonotoneRegion` 2024-07-12 23:55:35 +09:00
ikpil fbce7f40f4 2024.3.1 2024-07-09 00:10:38 +09:00
ikpil 9ebaa3fc65 Changed to limit neighbor search to a maximum count and use array for memory efficiency in `DtCrowd.AddNeighbour()` 2024-07-07 14:58:38 +09:00
ikpil 1894a56889 Changed to efficiently stack nearby DtCrowdAgents in `DtCrowd.GetNeighbours()` 2024-07-07 12:55:51 +09:00
ikpil 828b9644cc Changed agents management from list to dictionary in `Crowd` 2024-07-07 12:38:09 +09:00
ikpil ab2c520076 Changed `new float[]` to `stackalloc float[]` in `DtConvexConvexIntersections.Intersect()` 2024-07-05 00:15:03 +09:00
ikpil a282a80356 Changed vertCount and triCount to byte in DtPolyDetail 2024-07-02 13:47:31 +09:00
ikpil ba6815769a Changed to use Span<byte> and stackalloc for improved performance and memory management in `RcLayers.BuildHeightfieldLayers()` 2024-06-27 14:04:30 +09:00
ikpil 27751522f9 comment 2024-06-26 23:48:24 +09:00
ikpil 0092761742 Changed to consolidate vector-related functions into one place. 2024-06-19 13:46:04 +09:00
ikpil 5827a43dd8 Changed `RcChunkyTriMesh` to separate the function and variable. 2024-06-12 00:41:39 +09:00
ikpil 650849b11b Changed 'reg', 'area' arrays to byte arrays for uniformity and efficiency in DtTileCacheContour 2024-06-12 00:03:59 +09:00
ikpil b88b6096f6 Fixed where the dynamic voxel save file browser doesn't appear In Demo 2024-06-11 22:23:22 +09:00
ikpil 65c572a4c2 Changed 'heights', 'areas', 'cons', and 'regs' arrays to byte arrays for uniformity and efficiency in DtTileCacheLayer 2024-06-11 00:44:20 +09:00
ikpil 320c7b4c65 Removed RcVecUtils.Dot2D(this RcVec3f @this, Span<float> v, int vi) 2024-06-08 20:56:55 +09:00
ikpil fd03f0f12f Removed RcVecUtils.Create(float[] values) 2024-06-08 14:24:47 +09:00
ikpil ed7173dd51 Removed RcVecUtils.Min(), RcVecUtils.Max() 2024-06-08 14:21:38 +09:00
ikpil face8eb48e Changed to reuse samples and edges list in BuildPolyDetail() 2024-06-08 12:08:31 +09:00
ikpil 759e335961 Removed RcVecUtils.Subtract(float[] verts, int i, int j) 2024-06-07 22:46:08 +09:00
ikpil 8ad34dc0d8 Removed RcMeshDetails.VdistSq2(float[], float[]) 2024-06-07 22:36:46 +09:00
ikpil ebab0a11f3 Removed RcVecUtils.Subtract(RcVec3f i, float[] verts, int j) 2024-06-07 21:44:59 +09:00
ikpil b18845a749 Removed RcVecUtils.Scale() 2024-06-07 21:31:11 +09:00
ikpil 099636cd7c Removed RcVecUtils.Dot() 2024-06-04 00:34:07 +09:00
ikpil f8ae77a192 Release 2024.2.3 2024-06-03 23:33:14 +09:00
ikpil d94408f7a1 Changed class `Trajectory` to interface `ITrajectory` 2024-05-31 22:36:57 +09:00
ikpil 886be3712f Changed `DtWriter` to a static class and renamed it to `RcIO` 2024-05-23 22:39:03 +09:00
ikpil 99224251dc Changed `List<DtStraightPath>` to `Span<DtStraightPath>` for enhanced memory efficiency 2024-05-23 21:19:16 +09:00
ikpil 5b6905bd8f Changed `MAX_STEER_POINTS` from class constant to local. 2024-05-22 23:49:15 +09:00
ikpil c7f03d00ff Changed `Dictionary<int, List<DtMeshTile>>` to `DtMeshTile[]` to optimize memory usage 2024-05-22 01:34:11 +09:00
ikpil 8f8db51542 Changed `DtTileCacheBuilder` to a static class 2024-05-21 00:10:24 +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 0ce8ffba32 release 2024.2.2 2024-05-18 09:26:07 +09:00
ikpil 72d042b1ea update CHANGELOG.md 2024-05-17 23:46:48 +09:00
ikpil 47be4eca70 added DtNavMesh.Init() 2024-05-12 22:05:19 +09:00
ikpil 884789a934 added RcSpan unit test 2024-05-05 13:11:12 +09:00
ikpil 5b9adf73e2 release 2024.2.1 2024-05-04 10:02:16 +09:00
ikpil 6034bfa28a Added struct RcScopedTimer to avoid allocations 2024-02-20 02:02:05 +09:00
ikpil c908daa8c3 RcCyclicBuffer<T> optimizations @wrenge 2024-02-20 01:53:50 +09:00
ikpil 804cb275a7 Added struct DtCrowdScopedTimer to avoid allocations in scoped timer calls @wrenge
- https://github.com/ikpil/DotRecast/pull/54
2024-02-20 01:10:54 +09:00
ikpil ad504fe217 Changed from List<T> to RcCyclicBuffer in DtCrowdTelemetry execution timing sampling @wrenge
- https://github.com/ikpil/DotRecast/issues/51
2024-02-18 00:43:29 +09:00
ikpil d0bec3714e added corridor maxpath for SOH issue
- https://github.com/ikpil/DotRecast/issues/41
2024-02-16 00:26:23 +09:00