I'm now attempting to fix the issues associated with multiple contact points such as jittering in corners and getting stuck where surfaces 'pinch' together.
I'm attempting to store multiple contact points but my current problem is that if I keep my sphere a small buffer distance from contact (method used in Kasper's algorithm), my system will rarely (if ever) detect more than 1 contact point.
So I have to remove this buffer distance, but then how do I deal with the potential intersections that may occur do to floating point precision error.
At first I was thinking about only allowing movement if the velocity is parallel to the surface. But this wont work for multiple contact points.
My general algorithm will store the lowest t valued contact point per triangle. So Each triangle can return a maximum of a single contact point. And then I will sort the list and use all the contact points sharing the lowest t value.
Can anyone suggest any decent resources for swept volumes and multiple contact points?