-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
16 lines (13 loc) · 1.17 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- Implement warm starting. This likely means contact constraints need to persist between frames.
- Option 1: Implement contact persistance.
- Option 1: If both bodies haven't moved much, than just assume their current contacts correspond to last frame's contacts.
- Option 2: Use some kind of per contact proximity matching.
- Option 2: Instead store the warming impulse on the body.
- To avoid bodies jumping when a load is removed, we would need to project the warming impulse to the body's current constraint's span.
- Implement more realistic and stable friction. Support static friction.
- Improve velocity solver stability. Use box stacking as a test of stability.
- Option 1: Explore block solvers further to see if they can yield better stability than using three contacts per touching face.
- Option 2: Apply some damping to impulses each iteration.
- This seems to work well for the positional solver. It seems to allow convergence to a decent compromise solution.
- This approach requires restitution to be applied in a final step rather than each iteration.
- Remove vector mutation in a new branch and compare performance.