2016-03-02

Virtual Reality (API) is approaching the web

The WebVR team at Mozilla has been working hard to support the online creation and display of VR content in the Firefox browser. This week marks a WebVR milestone. Working closely with Brandon Jones of the Google Chrome team, the Mozilla team is excited to announce the release of version 1.0 of the WebVR API proposal.
Recent VR technology advances and community feedback have allowed us to improve the API to address developer needs. Some of the improvements include:
  • VR-specific handling of device rendering and display.
  • The ability to traverse links between VR worlds.
  • An input handling scheme that can enumerate VR inputs, including six degrees of freedom (6DoF) motion controllers.
  • Accommodation of both sitting and standing experiences.
  • Suitability for both desktop and mobile usage.
We are excited to share these improvements to the API. Keep in mind the list above represents a small sample of what has changed. For all the details, take a look at the full API draft or check out Brandon’s blog post.
This article is focused on basic usage of the proposed API, which requires an understanding of some complex concepts like matrix math. As an alternative, you can get a quick start in WebVR by looking at A-Frame or the WebVR boilerplate, both built on top of the API.
Before we dive in, we’d like to give special thanks to Kearwood “Kip” Gilbert(Mozilla), Brandon Jones (Google), and Justin Rogers (Microsoft) for contributing to the creation of this specification.

Implementation roadmap

We plan to land a stable implementation of the 1.0 APIs in Firefox Nightly in the first half of the year. You can follow along on Bugzilla for all the details, or see support status updates on iswebvrready.com.
Want to get started today? Currently developers can experiment with a proof-of-concept implementation of the new API using Brandon Jones’ experimental builds of Chromium.
Both WebVR Poly-fill (used by the WebVR Boilerplate mentioned above) andthree.js have open pull requests to support the latest APIs.

The approach is backed by both Google & Mozilla.