libccd implements variation on Gilbert-Johnson-Keerthi (GJK) algorithm + Expand
Polytope Algorithm (EPA). It also implements Minkowski Portal Refinement (MPR,
a.k.a. XenoCollide) algorithm as published in Game Programming Gems 7. libccd
is one of the very few open source libraries that include MPR algorithm working
in 3-D space. However, there is a library called mpr2d, implemented in D
programming language, that works in 2-D space.