Hi there,
in my Master's Thesis, I dealt with the two most common collision detection algorithms, SAT and GJK.
SAT works like a charm. It is quick, requires only a very limited amount of code and is accurate. And then there is GJK.
I sticked to the instructions at this blog entry http://hacktank.net/blog/?p=93
... and all I can say is that this algorithm is horrible. It requires LOTS of code which makes it almost impossible to debug properly, and it takes a lot of time to compute.
I computed 1000 collisions of spheres with both implementations. While SAT only took 0.02964 seconds to compute them (with perfect detection rate), GJK took almost five times longer and only with 94% success.
So I'm asking, is GJK really that bad? Or must this be a flaw in my implementation? What are your experiences?