提交 0f1732bd 编写于 作者: R Rik Cabanier

Add support for Chrome 75

上级 ebe52525
......@@ -4,7 +4,8 @@
if ( /(Helio)/g.test( navigator.userAgent ) && "xr" in navigator ) {
console.log( "Helio WebXR Polyfill (Lumin 0.96.0)" );
console.log( "Helio WebXR Polyfill (Lumin 0.97.0)" );
const isHelio96 = navigator.userAgent.includes("Chrome/73");
// WebXRManager - XR.supportSession() Polyfill - WebVR.js line 147
......@@ -29,10 +30,11 @@ if ( /(Helio)/g.test( navigator.userAgent ) && "xr" in navigator ) {
navigator.xr.requestSession = function ( sessionType ) {
return new Promise( function ( resolve, reject ) {
tempRequestSession( {
const sessionType = (isHelio96 ? {
mode: 'immersive-ar' // Force using immersive-ar
} )
} : 'immersive-ar');
tempRequestSession( sessionType )
.then( function ( session ) {
// WebXRManager - xrFrame.getPose() Polyfill - line 279
......@@ -70,18 +72,26 @@ if ( /(Helio)/g.test( navigator.userAgent ) && "xr" in navigator ) {
// WebXRManager - xrFrame.getPose() Polyfill - line 259
const tempGetPose = frame.getPose.bind( frame );
frame.getPose = function ( targetRaySpace, referenceSpace ) {
const inputPose = frame.getInputPose(
targetRaySpace,
referenceSpace
);
if (isHelio96) {
inputPose.transform = {
matrix: inputPose.targetRay.transformMatrix
};
const inputPose = frame.getInputPose(
targetRaySpace,
referenceSpace
);
return inputPose;
inputPose.transform = {
matrix: inputPose.targetRay.transformMatrix
};
return inputPose;
} else {
return tempGetPose(targetRaySpace.gripSpace, referenceSpace);
}
};
......@@ -127,17 +137,21 @@ if ( /(Helio)/g.test( navigator.userAgent ) && "xr" in navigator ) {
// WebXRManager - xrSession.updateRenderState() Polyfill Line 129
session.updateRenderState = function ( { baseLayer } ) {
if (isHelio96) {
session.updateRenderState = function ( { baseLayer } ) {
session.baseLayer = baseLayer;
session.baseLayer = baseLayer;
// WebXRManager - xrSession.renderState.baseLayer Polyfill Line 219
// WebXRManager - xrSession.renderState.baseLayer Polyfill Line 219
session.renderState = {
baseLayer: baseLayer
};
session.renderState = {
baseLayer: baseLayer
};
};
}
// WebXRManager - xrSession.requestReferenceSpace() Polyfill Line 130
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册