diff --git a/src/renderers/webvr/WebVRManager.js b/src/renderers/webvr/WebVRManager.js index 925f17a816b6e8b651fdfc62494bc0ba5daab3e4..9dc0028cd4256a5fd3c16d729a1cfdeef0664c64 100644 --- a/src/renderers/webvr/WebVRManager.js +++ b/src/renderers/webvr/WebVRManager.js @@ -25,6 +25,8 @@ function WebVRManager( renderer ) { var standingMatrix = new Matrix4(); var standingMatrixInverse = new Matrix4(); + var framebufferScaleFactor = 1.0; + var frameOfReferenceType = 'stage'; if ( typeof window !== 'undefined' && 'VRFrameData' in window ) { @@ -65,8 +67,8 @@ function WebVRManager( renderer ) { if ( isPresenting() ) { var eyeParameters = device.getEyeParameters( 'left' ); - var renderWidth = eyeParameters.renderWidth * scope.framebufferScaleFactor; - var renderHeight = eyeParameters.renderHeight * scope.framebufferScaleFactor; + var renderWidth = eyeParameters.renderWidth * framebufferScaleFactor; + var renderHeight = eyeParameters.renderHeight * framebufferScaleFactor; currentPixelRatio = renderer.getPixelRatio(); currentSize = renderer.getSize(); @@ -194,7 +196,6 @@ function WebVRManager( renderer ) { return controller; }; - this.framebufferScaleFactor = 1.0; this.getDevice = function () { @@ -210,6 +211,12 @@ function WebVRManager( renderer ) { }; + this.setFramebufferScaleFactor = function ( value ) { + + framebufferScaleFactor = value; + + }; + this.setFrameOfReferenceType = function ( value ) { frameOfReferenceType = value; diff --git a/src/renderers/webvr/WebXRManager.js b/src/renderers/webvr/WebXRManager.js index abd73ed0ed421819617295377999e6fb4fc97b41..7d4e0899a1e09e0e471fed7871d1f8eaa3a2c82e 100644 --- a/src/renderers/webvr/WebXRManager.js +++ b/src/renderers/webvr/WebXRManager.js @@ -16,6 +16,8 @@ function WebXRManager( renderer ) { var device = null; var session = null; + var framebufferScaleFactor = 1.0; + var frameOfReference = null; var frameOfReferenceType = 'stage'; @@ -47,7 +49,6 @@ function WebXRManager( renderer ) { // this.enabled = false; - this.framebufferScaleFactor = 1.0; this.getController = function ( id ) { @@ -96,6 +97,12 @@ function WebXRManager( renderer ) { } + this.setFramebufferScaleFactor = function ( value ) { + + framebufferScaleFactor = value; + + }; + this.setFrameOfReferenceType = function ( value ) { frameOfReferenceType = value; @@ -113,7 +120,7 @@ function WebXRManager( renderer ) { session.addEventListener( 'selectend', onSessionEvent ); session.addEventListener( 'end', onSessionEnd ); - session.baseLayer = new XRWebGLLayer( session, gl, { framebufferScaleFactor: this.framebufferScaleFactor } ); + session.baseLayer = new XRWebGLLayer( session, gl, { framebufferScaleFactor: framebufferScaleFactor } ); session.requestFrameOfReference( frameOfReferenceType ).then( function ( value ) { frameOfReference = value;