1libccd is library for a collision detection between two convex shapes. libccd 2implements variation on Gilbert-Johnson-Keerthi algorithm plus Expand Polytope 3Algorithm (EPA) and also implements algorithm Minkowski Portal Refinement (MPR, 4a.k.a. XenoCollide) as described in Game Programming Gems 7. 5 6libccd is the only available open source library of my knowledge that include 7MPR algorithm working in 3-D space. However, there is a library called mpr2d, 8implemented in D programming language, that works in 2-D space. 9