mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
WebVR 1.1 spec compatibility
This commit is contained in:
parent
296a215e54
commit
fe4ee6de2e
16 changed files with 112 additions and 55 deletions
|
@ -168,10 +168,10 @@ found in the LICENSE file.
|
|||
|
||||
var frameData;
|
||||
|
||||
if (navigator.vr) {
|
||||
if (navigator.getVRDisplays) {
|
||||
frameData = new VRFrameData();
|
||||
|
||||
navigator.vr.getDisplays().then(function (displays) {
|
||||
navigator.getVRDisplays().then(function (displays) {
|
||||
if (displays.length > 0) {
|
||||
vrDisplay = displays[0];
|
||||
vrDisplay.depthNear = 0.1;
|
||||
|
@ -190,9 +190,9 @@ found in the LICENSE file.
|
|||
if (vrDisplay.capabilities.canPresent)
|
||||
vrPresentButton = VRSamplesUtil.addButton("Enter VR", "E", "media/icons/cardboard64.png", onVRRequestPresent);
|
||||
|
||||
vrDisplay.addEventListener('presentchange', onVRPresentChange, false);
|
||||
//vrDisplay.addEventListener('activate', onVRRequestPresent, false);
|
||||
//vrDisplay.addEventListener('deactivate', onVRExitPresent, false);
|
||||
window.addEventListener('vrdisplaypresentchange', onVRPresentChange, false);
|
||||
window.addEventListener('vrdisplayactivate', onVRRequestPresent, false);
|
||||
window.addEventListener('vrdisplaydeactivate', onVRExitPresent, false);
|
||||
} else {
|
||||
initWebGL();
|
||||
VRSamplesUtil.addInfo("WebVR supported, but no VRDisplays found.", 3000);
|
||||
|
|
|
@ -175,10 +175,10 @@ found in the LICENSE file.
|
|||
onResize();
|
||||
}
|
||||
|
||||
if (navigator.vr) {
|
||||
if (navigator.getVRDisplays) {
|
||||
frameData = new VRFrameData();
|
||||
|
||||
navigator.vr.getDisplays().then(function (displays) {
|
||||
navigator.getVRDisplays().then(function (displays) {
|
||||
if (displays.length > 0) {
|
||||
vrDisplay = displays[0];
|
||||
VRSamplesUtil.addButton("Reset Pose", "R", null, function () { vrDisplay.resetPose(); });
|
||||
|
@ -186,9 +186,9 @@ found in the LICENSE file.
|
|||
if (vrDisplay.capabilities.canPresent)
|
||||
vrPresentButton = VRSamplesUtil.addButton("Enter VR", "E", "media/icons/cardboard64.png", onVRRequestPresent);
|
||||
|
||||
vrDisplay.addEventListener('presentchange', onVRPresentChange, false);
|
||||
//vrDisplay.addEventListener('activate', onVRRequestPresent, false);
|
||||
//vrDisplay.addEventListener('deactivate', onVRExitPresent, false);
|
||||
window.addEventListener('vrdisplaypresentchange', onVRPresentChange, false);
|
||||
window.addEventListener('vrdisplayactivate', onVRRequestPresent, false);
|
||||
window.addEventListener('vrdisplaydeactivate', onVRExitPresent, false);
|
||||
|
||||
initWebGL(vrDisplay.capabilities.hasExternalDisplay);
|
||||
} else {
|
||||
|
|
|
@ -164,10 +164,10 @@ found in the LICENSE file.
|
|||
}
|
||||
}
|
||||
|
||||
if (navigator.vr) {
|
||||
if (navigator.getVRDisplays) {
|
||||
frameData = new VRFrameData();
|
||||
|
||||
navigator.vr.getDisplays().then(function (displays) {
|
||||
navigator.getVRDisplays().then(function (displays) {
|
||||
if (displays.length > 0) {
|
||||
vrDisplay = displays[0];
|
||||
vrDisplay.depthNear = 0.1;
|
||||
|
@ -198,9 +198,9 @@ found in the LICENSE file.
|
|||
if (vrDisplay.capabilities.canPresent)
|
||||
vrPresentButton = VRSamplesUtil.addButton("Enter VR", "E", "media/icons/cardboard64.png", onVRRequestPresent);
|
||||
|
||||
vrDisplay.addEventListener('presentchange', onVRPresentChange, false);
|
||||
//vrDisplay.addEventListener('activate', onVRRequestPresent, false);
|
||||
//vrDisplay.addEventListener('deactivate', onVRExitPresent, false);
|
||||
window.addEventListener('vrdisplaypresentchange', onVRPresentChange, false);
|
||||
window.addEventListener('vrdisplayactivate', onVRRequestPresent, false);
|
||||
window.addEventListener('vrdisplaydeactivate', onVRExitPresent, false);
|
||||
} else {
|
||||
initWebGL(false);
|
||||
VRSamplesUtil.addInfo("WebVR supported, but no VRDisplays found.", 3000);
|
||||
|
|
|
@ -160,10 +160,10 @@ found in the LICENSE file.
|
|||
}
|
||||
}
|
||||
|
||||
if (navigator.vr) {
|
||||
if (navigator.getVRDisplays) {
|
||||
frameData = new VRFrameData();
|
||||
|
||||
navigator.vr.getDisplays().then(function (displays) {
|
||||
navigator.getVRDisplays().then(function (displays) {
|
||||
if (displays.length > 0) {
|
||||
vrDisplay = displays[0];
|
||||
vrDisplay.depthNear = 0.1;
|
||||
|
@ -174,9 +174,9 @@ found in the LICENSE file.
|
|||
if (vrDisplay.capabilities.canPresent)
|
||||
vrPresentButton = VRSamplesUtil.addButton("Enter VR", "E", "media/icons/cardboard64.png", onVRRequestPresent);
|
||||
|
||||
vrDisplay.addEventListener('presentchange', onVRPresentChange, false);
|
||||
//vrDisplay.addEventListener('activate', onVRRequestPresent, false);
|
||||
//vrDisplay.addEventListener('deactivate', onVRExitPresent, false);
|
||||
window.addEventListener('vrdisplaypresentchange', onVRPresentChange, false);
|
||||
window.addEventListener('vrdisplayactivate', onVRRequestPresent, false);
|
||||
window.addEventListener('vrdisplaydeactivate', onVRExitPresent, false);
|
||||
|
||||
// Only use preserveDrawingBuffer if we have an external display to
|
||||
// mirror to.
|
||||
|
|
|
@ -192,10 +192,9 @@ found in the LICENSE file.
|
|||
}
|
||||
}
|
||||
|
||||
if (navigator.vr || navigator.getVRDisplays) {
|
||||
if (navigator.getVRDisplays) {
|
||||
frameData = new VRFrameData();
|
||||
navigator.vr.getDisplays().then(function (displays) {
|
||||
// navigator.getVRDisplays().then(function (displays) {
|
||||
navigator.getVRDisplays().then(function (displays) {
|
||||
if (displays.length > 0) {
|
||||
vrDisplay = displays[displays.length - 1];
|
||||
vrDisplay.depthNear = 0.1;
|
||||
|
@ -214,9 +213,9 @@ found in the LICENSE file.
|
|||
if (vrDisplay.capabilities.canPresent)
|
||||
vrPresentButton = VRSamplesUtil.addButton("Enter VR", "E", "media/icons/cardboard64.png", onVRRequestPresent);
|
||||
|
||||
vrDisplay.addEventListener('presentchange', onVRPresentChange, false);
|
||||
//vrDisplay.addEventListener('vrdisplayactivate', onVRRequestPresent, false);
|
||||
//vrDisplay.addEventListener('vrdisplaydeactivate', onVRExitPresent, false);
|
||||
window.addEventListener('vrdisplaypresentchange', onVRPresentChange, false);
|
||||
window.addEventListener('vrdisplayactivate', onVRRequestPresent, false);
|
||||
window.addEventListener('vrdisplaydeactivate', onVRExitPresent, false);
|
||||
console.log(navigator.getGamepads());
|
||||
setTimeout(function(){
|
||||
onVRRequestPresent();
|
||||
|
|
|
@ -179,10 +179,10 @@ found in the LICENSE file.
|
|||
}
|
||||
}
|
||||
|
||||
if (navigator.vr) {
|
||||
if (navigator.getVRDisplays) {
|
||||
frameData = new VRFrameData();
|
||||
|
||||
navigator.vr.getDisplays().then(function (displays) {
|
||||
navigator.getVRDisplays().then(function (displays) {
|
||||
if (displays.length > 0) {
|
||||
vrDisplay = displays[0];
|
||||
|
||||
|
@ -203,7 +203,7 @@ found in the LICENSE file.
|
|||
// The UA may kick us out of VR present mode for any reason, so to
|
||||
// ensure we always know when we begin/end presenting we need to
|
||||
// listen for vrdisplaypresentchange events.
|
||||
vrDisplay.addEventListener('presentchange', onVRPresentChange, false);
|
||||
window.addEventListener('vrdisplaypresentchange', onVRPresentChange, false);
|
||||
|
||||
// These events fire when the user agent has had some indication that
|
||||
// it would be appropariate to enter or exit VR presentation mode, such
|
||||
|
@ -211,8 +211,8 @@ found in the LICENSE file.
|
|||
// You can inspect the `reason` property of the event to learn why the
|
||||
// event was fired, but in this case we're going to always trust the
|
||||
// event and enter or exit VR presentation mode when asked.
|
||||
//vrDisplay.addEventListener('activate', onVRRequestPresent, false);
|
||||
//vrDisplay.addEventListener('deactivate', onVRExitPresent, false);
|
||||
window.addEventListener('vrdisplayactivate', onVRRequestPresent, false);
|
||||
window.addEventListener('vrdisplaydeactivate', onVRExitPresent, false);
|
||||
} else {
|
||||
VRSamplesUtil.addInfo("WebVR supported, but no VRDisplays found.", 3000);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue