I attended the Portland Virtual Reality Meetup nearly a month ago and, at the time, I made a list of VR technologies that I needed to understand. This is that short list:


WebVR is a JavaScript/DOM API standard for interfacing and application to VR input/output devices. The WebVR API specifies data structures and conventions for controlling the headset. This includes focal length, resolution, and timing. The interface is important because the realtime nature of displaying on the quickly moving head display requires a lot of coordination between the display and the renderer.

Hopefully this API will allow browser games and such to adapt to multiple different headsets and controllers.


AFrame is a JavaScript system that specifies HTML extensions to define 3D scenes which are displayed with WebGL. So it is a simple authoring tool for creating 3d scenes. It is fairly new and doesn’t have a lot of controls for very complex scenes (multi-threading, …).


OSVR is an effort to build an open source VR system. OSVR on Github. While there are several proprietary systems, this tries to be the open, hackable version. They have an SDK and a 2160 X 1200 dual display headset which is part of their Hacker Development Kit (HDK). The software seems to be built for Windows and Mac. OSVR is maintained by Sensics and Razer.


JanusVR is an attempt to build a 3D browser for the web. Their description is: “JanusVR is a collaborative web browser for Virtual Reality, where links are portals and pages are rooms. The platform is written in C++ with the OpenGL, OpenAL and Qt libraries.”.

The principle innovation seems to be their integration with existing web pages. You can display web pages, navigate the 2D and 3D works through links, and enhance existing web pages so that they display 3D when viewed by the JanusVR viewer. This latter feature includes a definition of an embeddable XML scene description language. Haven’t looked to see if it has any relation to the XML3D definition.