Package Exports
- webvr-polyfill
- webvr-polyfill/build/webvr-polyfill
- webvr-polyfill/src/main
- webvr-polyfill/src/util
- webvr-polyfill/src/webvr-polyfill
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (webvr-polyfill) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
WebVR Polyfill
This project provides a JavaScript implementation of the WebVR spec.
The goal of this project is two fold:
- Use WebVR today, without requiring a special browser build.
- View (mono) content without a virtual reality headset.
Implementation
The polyfill decides which VRDevices to provide, depending on the configuration of your browser. Mobile devices provide both the FusedPositionSensorVRDevice and the CardboardHMDVRDevice. Desktop devices use the MouseKeyboardPositionSensorVRDevice.
CardboardHMDVRDevice
provides default parameters for Cardboard's
interpupillary distance and headset.
MouseKeyboardPositionSensorVRDevice
uses mouse events to allow you to do the
equivalent of mouselook. It also uses keyboard arrows and WASD keys to look
around the scene with the keyboard.
FusedPositionSensorVRDevice
uses DeviceMotionEvents and implements a
complementary filter which does sensor fusion. This device also implements pose
prediction, which greatly improves head tracking performance.
Deprecated: OrientationPositionSensorVRDevice
uses DeviceOrientationEvents
to polyfill head-tracking on mobile devices.
Experimental: WebcamPositionSensorVRDevice
uses your laptop's webcam in
order to introduce translational degrees of freedom.
Configuration
The polyfill can be configured and debugged with various options. The following are supported:
WebVRConfig = {
// Forces availability of VR mode.
//FORCE_ENABLE_VR: true, // Default: false.
// Complementary filter coefficient. 0 for accelerometer, 1 for gyro.
//K_FILTER: 0.98, // Default: 0.98.
// How far into the future to predict during fast motion.
//PREDICTION_TIME_S: 0.050, // Default: 0.050s.
// Flag to disable touch panner. In case you have your own touch controls
//TOUCH_PANNER_DISABLED: true, // Default: false.
// Enable yaw panning only, disabling roll and pitch. This can be useful
// for panoramas with nothing interesting above or below.
//YAW_ONLY: true, // Default: false.
// To disable keyboard and mouse controls. If you implement your own.
//MOUSE_KEYBOARD_CONTROLS_DISABLED: true // Default: false
}