未验证 提交 36096170 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #17005 from cabanier/dev

Update Helio polyfill for Chrome 75
......@@ -4,7 +4,9 @@
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
......@@ -30,9 +32,11 @@ if ( /(Helio)/g.test( navigator.userAgent ) && "xr" in navigator ) {
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 +74,28 @@ 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) {
const inputPose = frame.getInputPose(
targetRaySpace,
referenceSpace
);
inputPose.transform = {
matrix: inputPose.targetRay.transformMatrix
};
return inputPose;
inputPose.transform = {
matrix: inputPose.targetRay.transformMatrix
};
} else {
return inputPose;
return tempGetPose(targetRaySpace.gripSpace, referenceSpace);
}
};
......@@ -127,17 +141,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.
先完成此消息的编辑!
想要评论请 注册