VRDisplay.getEyeParameters()

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The getEyeParameters() method of the VRDisplay interface returns the VREyeParameters object containing the eye parameters for the specified eye.

Syntax

var myEyeParameters = vrDisplayInstance.getEyeParameters(whichEye);

Parameters

whichEye
A DOMString representing the eye you want to return the eye parameters for. Available values are left and right (defined in the VREye enum).

Return value

A VREyeParameters object, or null if the VR is not able to present content (e.g. VRDisplayCapabilities.canPresent returns false).

Examples

navigator.getVRDisplays().then(function(displays) {
  // If a display is available, use it to present the scene
  vrDisplay = displays[0];
  console.log('Display found');
  // Starting the presentation when the button is clicked: It can only be called in response to a user gesture
  btn.addEventListener('click', function() {
    vrDisplay.requestPresent([{ source: canvas }]).then(function() {
      console.log('Presenting to WebVR display');

      // Set the canvas size to the size of the vrDisplay viewport

      var leftEye = vrDisplay.getEyeParameters('left');
      var rightEye = vrDisplay.getEyeParameters('right');

      canvas.width = Math.max(leftEye.renderWidth, rightEye.renderWidth) * 2;
      canvas.height = Math.max(leftEye.renderHeight, rightEye.renderHeight);

      drawVRScene();
    });
  });
});

Specifications

Specification Status Comment
WebVR 1.1
The definition of 'getEyeParameters()' in that specification.
Editor's Draft Initial definition

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes1 2 Yes

553

584

No ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic support No Yes5 ? ? No ? ?

1. Only works on desktop in an experimental version of Chrome (other builds won't return any devices when Navigator.getVRDisplays() is invoked).

2. This feature is behind the WebVR preference. To change preferences in Chrome, visit chrome://flags.

3. Windows support was enabled in Firefox 55.

4. macOS support was enabled in Firefox 58.

5. Currently supported only by Google Daydream.

See also

Document Tags and Contributors

 Contributors to this page: fscholz, chrisdavidmills, abbycar
 Last updated by: fscholz,