Head Tracking on Linux

tracking demo screenshotInspired by Johnny Chung Lee’s Wii projects, but disappointed by the lack of portability of his code, I decided to develop a version of VR head tracking on Linux using OpenGL.

While Johnny’s code is written in C# using DirectX for the 3D graphics, I wrote my code in C++ using OpenGL for 3D rendering. Unlike DirectX which only runs on Microsoft Windows, OpenGL rendering libraries are available for almost every computing platform.

The code is currently a bit rough around the edges due to the partially complete rewrite to more modular class-based C++ code (I originally wrote it in C). I am currently working on improving the modularity of the code, so that you can simply replace the wiimote communication library (cwiid) with the one that is available for your platform. I will improve this over the next few versions.

Besides the cwiid wiimote library, my code should be easily portable to any operating system which has an OpenGL implementation and a wiimote library similar to cwiid.

Future contributions to this project may include a more usable interface for tweaking the geometry and setting up the rendering to work better with your specific hardware.

The latest source is always available here on my code site, currently hosted on Bitbucket.