Prototype GLTF importer and convex hull collision detection

I spent some time this summer exploring using Heaps to make a 3D game but the project is now defunct because I could not get enough interest from collaborators.

However, in the process I wrote some interesting extensions to Heaps that should probably make it back to the larger community (if anyone is interested). These are:

  • The initial framework of a GLTF importer. This imports meshes and skeletal animation and supports text and binary GLTF. It’s designed to convert GLTF files to HMD as part of resource processing.

  • A 3D convex hull generator and GJK/EPA collision detection algorithm. If that’s unfamiliar, they are algorithms to calculate collision and penetration of convex 3D shapes fast enough for real time programs like games.

A very simple online demonstration is here:

The code is reasonably well tested (the collision detection has decent unit test coverage) but could definitely use some cleanup and would likely need to be integrated into mainline Heaps to really be useful.

Let me know if anyone finds this interesting.