|
@@ -16,6 +16,8 @@ function WebXRManager( renderer ) {
|
|
|
|
|
|
var session = null;
|
|
var session = null;
|
|
|
|
|
|
|
|
+ var framebufferScaleFactor = 1.0;
|
|
|
|
+
|
|
var referenceSpace = null;
|
|
var referenceSpace = null;
|
|
var referenceSpaceType = 'local-floor';
|
|
var referenceSpaceType = 'local-floor';
|
|
|
|
|
|
@@ -101,6 +103,8 @@ function WebXRManager( renderer ) {
|
|
|
|
|
|
this.setFramebufferScaleFactor = function ( value ) {
|
|
this.setFramebufferScaleFactor = function ( value ) {
|
|
|
|
|
|
|
|
+ framebufferScaleFactor = value;
|
|
|
|
+
|
|
};
|
|
};
|
|
|
|
|
|
this.setReferenceSpaceType = function ( value ) {
|
|
this.setReferenceSpaceType = function ( value ) {
|
|
@@ -127,13 +131,17 @@ function WebXRManager( renderer ) {
|
|
session.addEventListener( 'end', onSessionEnd );
|
|
session.addEventListener( 'end', onSessionEnd );
|
|
|
|
|
|
session.updateRenderState( { baseLayer: new XRWebGLLayer( session, gl ) } );
|
|
session.updateRenderState( { baseLayer: new XRWebGLLayer( session, gl ) } );
|
|
|
|
+
|
|
session.requestReferenceSpace( referenceSpaceType ).then( onRequestReferenceSpace );
|
|
session.requestReferenceSpace( referenceSpaceType ).then( onRequestReferenceSpace );
|
|
|
|
|
|
|
|
+ //
|
|
|
|
+
|
|
inputSources = session.inputSources;
|
|
inputSources = session.inputSources;
|
|
|
|
|
|
session.addEventListener( 'inputsourceschange', function () {
|
|
session.addEventListener( 'inputsourceschange', function () {
|
|
|
|
|
|
inputSources = session.inputSources;
|
|
inputSources = session.inputSources;
|
|
|
|
+ console.log( inputSources );
|
|
|
|
|
|
for ( var i = 0; i < controllers.length; i ++ ) {
|
|
for ( var i = 0; i < controllers.length; i ++ ) {
|
|
|
|
|
|
@@ -214,9 +222,7 @@ function WebXRManager( renderer ) {
|
|
if ( pose !== null ) {
|
|
if ( pose !== null ) {
|
|
|
|
|
|
var views = pose.views;
|
|
var views = pose.views;
|
|
- var baseLayer;
|
|
|
|
-
|
|
|
|
- baseLayer = session.renderState.baseLayer;
|
|
|
|
|
|
+ var baseLayer = session.renderState.baseLayer;
|
|
|
|
|
|
renderer.setFramebuffer( baseLayer.framebuffer );
|
|
renderer.setFramebuffer( baseLayer.framebuffer );
|
|
|
|
|
|
@@ -224,10 +230,7 @@ function WebXRManager( renderer ) {
|
|
|
|
|
|
var view = views[ i ];
|
|
var view = views[ i ];
|
|
var viewport = baseLayer.getViewport( view );
|
|
var viewport = baseLayer.getViewport( view );
|
|
-
|
|
|
|
- var viewMatrix;
|
|
|
|
-
|
|
|
|
- viewMatrix = view.transform.inverse.matrix;
|
|
|
|
|
|
+ var viewMatrix = view.transform.inverse.matrix;
|
|
|
|
|
|
var camera = cameraVR.cameras[ i ];
|
|
var camera = cameraVR.cameras[ i ];
|
|
camera.matrix.fromArray( viewMatrix ).getInverse( camera.matrix );
|
|
camera.matrix.fromArray( viewMatrix ).getInverse( camera.matrix );
|
|
@@ -254,9 +257,7 @@ function WebXRManager( renderer ) {
|
|
|
|
|
|
if ( inputSource ) {
|
|
if ( inputSource ) {
|
|
|
|
|
|
- var inputPose;
|
|
|
|
-
|
|
|
|
- inputPose = frame.getPose( inputSource.targetRaySpace, referenceSpace );
|
|
|
|
|
|
+ var inputPose = frame.getPose( inputSource.targetRaySpace, referenceSpace );
|
|
|
|
|
|
if ( inputPose !== null ) {
|
|
if ( inputPose !== null ) {
|
|
|
|
|