123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /**
- * @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 );
- } );
- } );
- };
- }
- }
|