Welcome to the WebVR Guide.

At the high level, WebVR is a browser API used to interface with VR headsets. This is typically done in two phases:

  • Setup. The application detects the headset, described by the VRDevice object, and targets it for presentation.
  • Per-Frame Rendering. Once setup is complete, a requestAnimationFrame handler is used to query pose data, render the WebGL scene for each eye, and submit it to the headset. Working with WebVR directly requires knowledge of JavaScript and WebGL.

Though WebVR is an evolving API, a configuration of the API has crystallized that most major browser vendors believe can reach general availability in mid-2017.

The Carmel Developer Preview targets this configuration. All of our samples and documentation explain how to use this version of the API and also where we diverge from it and why.

  • Getting Started
  • Launching Your Content
  • Debugging Your Content
    Carmel Developer Preview is based on Chromium, so you can use the Chrome Developer Tools to debug and inspect your WebVR application. You can debug remotely either over USB or Wi-Fi.
  • Introduction to the WebVR API
    The Carmel Developer Preview supports the W3C WebVR specification which allows developers to present VR experiences on the web using WebGL. There are a few simple steps to get your application bootstrapped into VR presentation mode which will be covered in this sample.
  • Using the Gear VR Controller
  • Browser Navigation in VR
    The Navigation sample demonstrates how to utilize browser history APIs and the Gear VR back button to make deep-linkable experiences.
  • Displaying 360 Photos
    360 Photos and other forms of panoramas are a great way to add a sense of presence to a VR environment with relatively low performance overhead. This topic discusses the various tradeoffs in the different ways a WebVR application can render a panorama using WebGL