11import { ArrayCamera } from '../../cameras/ArrayCamera.js' ;
22import { EventDispatcher } from '../../core/EventDispatcher.js' ;
33import { PerspectiveCamera } from '../../cameras/PerspectiveCamera.js' ;
4+ import { Vector2 } from '../../math/Vector2.js' ;
45import { Vector3 } from '../../math/Vector3.js' ;
56import { Vector4 } from '../../math/Vector4.js' ;
67import { RAD2DEG } from '../../math/MathUtils.js' ;
@@ -40,6 +41,9 @@ class WebXRManager extends EventDispatcher {
4041 const controllers = [ ] ;
4142 const controllerInputSources = [ ] ;
4243
44+ const currentSize = new Vector2 ( ) ;
45+ let currentPixelRatio = null ;
46+
4347 //
4448
4549 const cameraL = new PerspectiveCamera ( ) ;
@@ -176,6 +180,9 @@ class WebXRManager extends EventDispatcher {
176180
177181 scope . isPresenting = false ;
178182
183+ renderer . setPixelRatio ( currentPixelRatio ) ;
184+ renderer . setSize ( currentSize . width , currentSize . height , false ) ;
185+
179186 scope . dispatchEvent ( { type : 'sessionend' } ) ;
180187
181188 }
@@ -263,6 +270,9 @@ class WebXRManager extends EventDispatcher {
263270
264271 }
265272
273+ currentPixelRatio = renderer . getPixelRatio ( ) ;
274+ renderer . getSize ( currentSize ) ;
275+
266276 if ( ( session . renderState . layers === undefined ) || ( renderer . capabilities . isWebGL2 === false ) ) {
267277
268278 const layerInit = {
@@ -277,6 +287,9 @@ class WebXRManager extends EventDispatcher {
277287
278288 session . updateRenderState ( { baseLayer : glBaseLayer } ) ;
279289
290+ renderer . setPixelRatio ( 1 ) ;
291+ renderer . setSize ( glBaseLayer . framebufferWidth , glBaseLayer . framebufferHeight , false ) ;
292+
280293 newRenderTarget = new WebGLRenderTarget (
281294 glBaseLayer . framebufferWidth ,
282295 glBaseLayer . framebufferHeight ,
@@ -314,6 +327,9 @@ class WebXRManager extends EventDispatcher {
314327
315328 session . updateRenderState ( { layers : [ glProjLayer ] } ) ;
316329
330+ renderer . setPixelRatio ( 1 ) ;
331+ renderer . setSize ( glProjLayer . textureWidth , glProjLayer . textureHeight , false ) ;
332+
317333 newRenderTarget = new WebGLRenderTarget (
318334 glProjLayer . textureWidth ,
319335 glProjLayer . textureHeight ,
0 commit comments