mixed reality

A rollercoaster company in Germany called Mack Rides joined forces with a team of virtual reality developers in the spring of 2014 to create an experience like no other.

The idea came from [Thomas], a professor at the University of Applied Sciences Kaiserslautern who was working in the department of Virtual Design at the time. The thought of extending a real rollercoaster ride with an Oculus Rift was an intriguing one, so he approached Mack Rides with the experiment, and the ground-breaking research began.

Hundreds of tests were done over the following weeks and months, which provided insight into how we perceive time and space while inside VR. This led to some interesting discoveries. For one, the VR track inside the Rift could be more complex than the real one. This meant that the directions could be contorted into different angles without the user feeling much of a difference. Knowing this, the developers were able to unfold/extend the track well beyond what was possible in real life.

Another epiphany had to do with the rails, which actually didn’t have to be present in VR at all. In fact, it was better if the tracks weren’t there because the experience was much more exciting not knowing which way the ride was suddenly going to take. This made things exponentially more surprising and compelling.

By far the most startling revelation was the reduction in dizziness and motion sickness during the tests. This was attributed to the complex synchronization that the mind goes through when melding together g-forces and the actual rollercoaster rides with the virtual ones displayed inside the Oculus Rift.

Virtual Reality by function pushes the boundaries of what we perceive as existence, tricking the mind into believing that the computer generated environment that the user is thrust into actually contains a real place. So in the spirit of seeing what is possible in VR, a developer named [Jacques] hooked up a Raspberry Pi to an Oculus Rift. He used a computer graphics rendering API called OpenGL ES, which is much like any mobile platform found these days, to render a floating, rotating cube.

All his tests were done on a Release build which utilized the official vertex and fragment shaders. There was no attempt to optimize anything; not like there would be much to do anyways. The scene was rendered twice at 16 milliseconds per frame. From there, he attempted 27 ms per frame with texture, followed by 36 ms/frame, and then 45.

The code used can be found on [Jacques]’s Github account. A simple improvement would use a Banana Pi for better processing speed. However, don’t expect any spectacular results with this type of setup. Really, the project only proves that it’s possible to minimize a VR experience into something that could become portable. And in the same vein, the Pi + Oculus integration can produce an uncomfortable lagging effect if things are not lined up properly. But once the energy/computing power issues are addressed, VR devices could transform into a more fashionable product like Google Glass, where a simple flip of a switch would toggle the view between VR and AR into a something more mixed. And then a motion sensing input camera like this Kinect-mapping space experiment could allow people all over the world to jump into the perspectives of other reality-pushing explorers. That’s all far down the line though, but this project lays the foundation for what the future might hold.