three
Version:
JavaScript 3D library
49 lines (26 loc) • 1.06 kB
JavaScript
/**
* @author mvilledieu / http://github.com/mvilledieu
*/
if ( /(Helio)/g.test( navigator.userAgent ) && 'xr' in navigator ) {
console.log( "Helio WebXR Polyfill (Lumin 0.98.0)" );
if ( 'isSessionSupported' in navigator.xr ) {
const tempIsSessionSupported = navigator.xr.isSessionSupported.bind( navigator.xr );
navigator.xr.isSessionSupported = function ( /*sessionType*/ ) {
// Force using immersive-ar
return tempIsSessionSupported( 'immersive-ar' );
};
}
if ( 'isSessionSupported' in navigator.xr && 'requestSession' in navigator.xr ) {
const tempRequestSession = navigator.xr.requestSession.bind( navigator.xr );
navigator.xr.requestSession = function ( /*sessionType*/ ) {
return new Promise( function ( resolve, reject ) {
var sessionInit = { optionalFeatures: [ 'local-floor', 'bounded-floor' ] };
tempRequestSession( 'immersive-ar', sessionInit ).then( function ( session ) {
resolve( session );
} ).catch( function ( error ) {
return reject( error );
} );
} );
};
}
}