Technologies: C++, DirectX, OculusVR, Leap Motion
Status: Complete, No longer maintained.
This is the AwesomeLeapingTeapot, a silly name for an experiment in computer graphics, it integrates:
- A bare minimum 3d renderer using DirectX (lifted from the oculusvr SDK, an old version)
- "Correct" rendering in oculus rift (following the simplest example)
- Hand tracking using a leap motion
This project was developed between 2 persons and it was turned in as an assignment for my Master's Degree.
This repository should have all the required files, but it probably won't compile, as it depends on a really old version of the Oculus and Leap SDK. I basically put it here for review of the (mostly hacky) code, and so that I don't lose the files.
The idea was to setup a room with 3d support, and then "see" your hands by using the leap motion. There are many teapots, as you cannot have a 3d demo without them. It was cool to see the scale of a giant 2x2m teapot in VR.
The demo integrated oculus rift rendering and head tracking and a leap motion to show your hands in 3d. To simplify, the hands were rendered using spheres (one per finger plus the palm) and the motion was limited to some 20-30 cms on the front of your view.
The scene was hacked from a demo scene in the oculus SDK (oculus room tiny), but we added some extra code to render more meshes and to draw the hands. Also, a simple skybox was added to help with the sense of immersion.
In the end, the demo worked well, we were not able to implement all the features (like support for interactive buttons), but it was a cool experiment and showed just how much tweaking you need to sense the real world.
I did most of the initial coding to integrate the SDKs. I collaborated with another person from my class to get the functionality implemented, he did most of the initial leap motion control and I worked on integration and tweaking.
What is broken
Unfortunately, I had to piece this repo from multiple clones and some standalone files. The development was kind of rushed and we ended up hacking some things right before the demo. I apologize if files are missing or have the wrong version.