Cupola VR Viewer for Oculus Rift Head-Tracking in WebGL Virtual Environments
Published:
In 2013, I developed a Chrome packaged app to help connect the Oculus Rift DK1 with browser-based VR environments.
At the time, this was done to help bridge a gap in Web VR technologies:
vr.js had been used as an NPAPI plugin for Chrome and Firefox, but Chrome discontinued support for NPAPI apps in 2013.
oculus-bridge was a tool that used WebSockets to stream orientation data, but at the cost of poor latency.
In contrast, Cupola VR Viewer used Chrome’s USB API to get the raw sensor data from the Rift, and I reimplemented parts of the Oculus SDK in Javascript to translate the sensor data into the orientation. I found that this approach provides lower latency than WebSockets, and is unencumbered by the loss of NPAPI plugins in Chrome.
Note: This effort has been completely replaced by modern WebVR technologies, and is here provided only for historical reference.
The source for Cupola can be found here.