d1feaa0602
More progress on PGS
2025-03-09 22:54:40 +04:00
a2ad9e490a
Refactor collision detection to support persistent contacts across frames
2025-03-09 15:04:13 +04:00
cb24365933
Start implementing a different solver
2025-03-08 23:46:14 +04:00
ccd987aeae
Start implementing optimized substepping (collision detection only once per frame)
2025-03-08 14:50:39 +04:00
c3ac6c2db1
Change iteration counts, fix extra snapshots when no steps were taken
2025-03-02 21:30:37 +04:00
860f9f59b6
Optimize edge separation test, use SOA structs in more places
2025-03-02 21:14:12 +04:00
a1e8d0f231
Disable edge separation tests for now and make a stress test
2025-03-01 20:54:26 +04:00
0f60cdda13
Use BVH to find potential collision pairs before simulation steps
2025-03-01 20:12:54 +04:00
503d6170c2
Fix restitution and start implementing BVH acceleration for collision
2025-03-01 19:04:01 +04:00
c91018fec8
Remove unnecessary rl dependency in physics engine
2025-03-01 13:30:25 +04:00
c2b831a4d6
Implement simulation rewind
2025-02-09 19:54:44 +04:00
aa1dab6079
Update shape from immediate_body
2025-02-09 19:33:19 +04:00
d816e96c3e
Refactor convex shape handling
...
This will allow me to implement rewind easily
2025-02-09 19:15:56 +04:00
bf995882e6
Double buffer physics state to allow easy debugging and interpolation
...
Fix a bug in restitution
2025-02-09 02:21:34 +04:00
66f42c3cee
Implement restitution, better hack for static friction
2025-02-04 01:51:54 +04:00
9f6d57b5ea
Fix dynamic friction (mistake in paper actually), improve friction
2025-02-02 21:45:25 +04:00
ef51a9ee30
Fix convex mesh to remove coplanar faces, fix contact debug visualizer
2025-02-02 03:01:28 +04:00
25ff57168b
Collisions for the convex shape
2025-02-02 02:41:24 +04:00
999a7a4631
Calculate inertia tensor for the convex hull, convert simulation to use full inertia tensor matrix
...
I couldn't figure out how to diagonalize the inertia tensor matrix so I will go the simle route and just use the full 3x3 matrix
2025-02-02 01:17:35 +04:00
660a535a7c
Experiment with different com calculations
2025-02-01 01:07:18 +04:00
ba686422a8
Bring back assertions fix non convexity in exported mesh
2025-02-01 00:21:29 +04:00
76f3b9ef75
Calculate center of mass for convex meshes
2025-02-01 00:13:55 +04:00
8cefc48049
Load convex from obj
2025-01-31 02:35:02 +04:00
196bafb401
Static and dynamic friction working, it's starting to look pretty convincing
...
Still got a bug when colliding with edges at some specific rotations. Probably fucked relative position conversion somewhere and using a local pos instead
2025-01-26 22:43:23 +04:00
1a74039ad8
Static friction and refactor constraint params
2025-01-26 21:53:53 +04:00
aca890bcb7
Super stable collision resolution
...
- Store collision manifold points as local to body before applying them, this way penetration can be calculated exactly for each contact point
- Fix implementation error in closest_point_between_segments
- Calculate separation for each contact point separately
2025-01-26 17:31:28 +04:00
19a1398068
Try to fix edge collision issues, more debug stuff
2025-01-23 04:06:11 +04:00
f2f23ee2e0
Proper stable collisions
...
Turns out when you get a collision pair YOU SHOULD HANDLE CONTACT RESPONSE FOR BOTH BODIES, NOT JUST ONE OF THEM
Otherwise they move and their next collision (if a->b, b->a are found and resolved separately) they might penetrate badly or worse and everything blows up
This is probably not as important in sequential impulse type solvers because the actual position update is deferred, but in a position based one it's pretty important as it turns out.
It's also better for performance because I don't have to run the collision query for the same two bodies two times
2025-01-23 02:16:12 +04:00
b40dd32b36
Funny boxes flying
2025-01-19 23:46:01 +04:00
4f7a494fff
Interesting... collision response
2025-01-19 22:15:22 +04:00
0961b7551a
Manifold contact optimization
2025-01-19 21:44:42 +04:00
82470ca3c7
Edge contacts and fix bug with face contacts
2025-01-19 18:16:52 +04:00
4af30979d5
collision detection progress
2025-01-19 04:32:36 +04:00
923cb6f459
Convex vs convex face manifolds working
2025-01-18 17:16:32 +04:00
71df8df94a
Remove accidental bin
2025-01-17 00:25:10 +04:00
43f8c66ec1
Start implementing convex collisions
2025-01-17 00:24:17 +04:00
Sergey Poznyak
2b3739937a
Start implementing a span allocator
2025-01-13 02:46:54 +04:00
Sergey Poznyak
587104651c
Halfedge test
2025-01-12 19:29:29 +04:00
Sergey Poznyak
b46858cf55
Implementing halfedge mesh
2025-01-12 03:59:33 +04:00
ccefa6b952
Start implementing rigid body collision
2025-01-12 02:57:33 +04:00
581f908e6e
Fix tracy overhead
2025-01-10 03:04:12 +04:00
21545b1c9d
Add profiling to the game
2025-01-10 01:46:13 +04:00
0f951b831b
Add tracy lfs images
2025-01-10 01:45:57 +04:00
af03554260
Fix tracy style errors
2025-01-10 01:45:41 +04:00
32d21757c1
Merge commit 'e60e9b99af9e2738378444265819df71c8bba134' as 'libs/tracy'
2025-01-10 01:29:33 +04:00
e60e9b99af
Squashed 'libs/tracy/' content from commit 4925f2b7
...
git-subtree-dir: libs/tracy
git-subtree-split: 4925f2b7240ebf4386faaae433993db6d0b3f956
2025-01-10 01:29:33 +04:00
e618ad9520
Timestep independence, finally
2025-01-09 15:07:19 +04:00
e22e667e27
Fixed unstable suspension (feel like an idiot)
2025-01-07 04:23:27 +04:00
7a77d1c409
Working BVH
2025-01-07 00:14:52 +04:00
493f311ad0
Almost working bvh
2025-01-06 03:40:40 +04:00