chris . makes . stuff

Virtual Reality

In 2012 I got interested in homebrew Virtual Reality, and was lucky enough to stumble across the MTBS3D forum shortly before Palmer Luckey, and then John Carmack, started posting about the Oculus Rift (a long time before it was even on Kickstarter).

I quickly copied Palmer's design (which was open source at the time) to make a couple of my own headsets

Version 1

Version 2

My ultimate goal was a kind of holo-deck system where the user would be able to walk around freely

The system used LEDs which were positioned so that a global location could be accurately calculated from a single frame of footage. The code used OpenCV (C++) and the latency was around 5ms.

In this video you are watching a realtime 3D recreatation of me moving the camera around (the white cuboid), while it is looking at the four coloured LEDs on the table (the small coloured cubes). In the top left are four dots which represent the camera's view of the LEDs. The coordinates of these dots are used to calculate the relative 3D position of the camera. This is called the Perspective-n-Point Problem.

Unforunately I never fully completed the prototype which included global encoding of position in the LED pattern. Some more information is available on the original MTBS3D thread

Some of my other VR experiments involved the Razer Hydra which was the only consumer level 6DOF controller that existed at the time.

(these videos aren't well edited, just scrub through them a bit)

This demo also included the Slab3D library for binaural (3D) sounds.

Shortly after this, Oculus received a major round of funding (later being bought by Facebook) and the modern commercial era of virtual reality began. A lot of the homebrew talent was hired by Oculus or its competitors to work in secret. Although I don't remotely blame them it took the fun out of VR for me.

This episode will probably be the only time in my life I ever witness the birth of a unicorn with my own eyes.