Skip to content

Commit d2d3eed

Browse files
authored
WebXRManager: Revert support of EffectComposer. (#26904)
* Revert "Examples: Clean up. (#26901)" This reverts commit 306fb93. * Revert "Updated builds." This reverts commit 7aba3d2. * Revert "WebGLRenderer: Improve offscreen rendering in WebXR. (#26160)" This reverts commit afdfa33.
1 parent 306fb93 commit d2d3eed

12 files changed

+4
-268
lines changed

build/three.cjs

-28
Original file line numberDiff line numberDiff line change
@@ -26437,9 +26437,6 @@ class WebXRManager extends EventDispatcher {
2643726437
const controllers = [];
2643826438
const controllerInputSources = [];
2643926439

26440-
const currentSize = new Vector2();
26441-
let currentPixelRatio = null;
26442-
2644326440
//
2644426441

2644526442
const cameraL = new PerspectiveCamera();
@@ -26572,9 +26569,6 @@ class WebXRManager extends EventDispatcher {
2657226569

2657326570
//
2657426571

26575-
renderer.setPixelRatio( currentPixelRatio );
26576-
renderer.setSize( currentSize.width, currentSize.height, false );
26577-
2657826572
animation.stop();
2657926573

2658026574
scope.isPresenting = false;
@@ -26631,12 +26625,6 @@ class WebXRManager extends EventDispatcher {
2663126625

2663226626
};
2663326627

26634-
this._getRenderTarget = function () {
26635-
26636-
return newRenderTarget;
26637-
26638-
};
26639-
2664026628
this.getFrame = function () {
2664126629

2664226630
return xrFrame;
@@ -26686,9 +26674,6 @@ class WebXRManager extends EventDispatcher {
2668626674

2668726675
session.updateRenderState( { baseLayer: glBaseLayer } );
2668826676

26689-
renderer.setPixelRatio( 1 );
26690-
renderer.setSize( glBaseLayer.framebufferWidth, glBaseLayer.framebufferHeight, false );
26691-
2669226677
newRenderTarget = new WebGLRenderTarget(
2669326678
glBaseLayer.framebufferWidth,
2669426679
glBaseLayer.framebufferHeight,
@@ -26726,9 +26711,6 @@ class WebXRManager extends EventDispatcher {
2672626711

2672726712
session.updateRenderState( { layers: [ glProjLayer ] } );
2672826713

26729-
renderer.setPixelRatio( 1 );
26730-
renderer.setSize( glProjLayer.textureWidth, glProjLayer.textureHeight, false );
26731-
2673226714
newRenderTarget = new WebGLRenderTarget(
2673326715
glProjLayer.textureWidth,
2673426716
glProjLayer.textureHeight,
@@ -26753,9 +26735,6 @@ class WebXRManager extends EventDispatcher {
2675326735
customReferenceSpace = null;
2675426736
referenceSpace = await session.requestReferenceSpace( referenceSpaceType );
2675526737

26756-
currentPixelRatio = renderer.getPixelRatio();
26757-
renderer.getSize( currentSize );
26758-
2675926738
animation.setContext( session );
2676026739
animation.start();
2676126740

@@ -30148,13 +30127,6 @@ class WebGLRenderer {
3014830127

3014930128
this.setRenderTarget = function ( renderTarget, activeCubeFace = 0, activeMipmapLevel = 0 ) {
3015030129

30151-
// Render to base layer instead of canvas in WebXR
30152-
if ( renderTarget === null && this.xr.isPresenting ) {
30153-
30154-
renderTarget = this.xr._getRenderTarget();
30155-
30156-
}
30157-
3015830130
_currentRenderTarget = renderTarget;
3015930131
_currentActiveCubeFace = activeCubeFace;
3016030132
_currentActiveMipmapLevel = activeMipmapLevel;

build/three.js

-28
Original file line numberDiff line numberDiff line change
@@ -26442,9 +26442,6 @@ console.warn( 'Scripts "build/three.js" and "build/three.min.js" are deprecated
2644226442
const controllers = [];
2644326443
const controllerInputSources = [];
2644426444

26445-
const currentSize = new Vector2();
26446-
let currentPixelRatio = null;
26447-
2644826445
//
2644926446

2645026447
const cameraL = new PerspectiveCamera();
@@ -26577,9 +26574,6 @@ console.warn( 'Scripts "build/three.js" and "build/three.min.js" are deprecated
2657726574

2657826575
//
2657926576

26580-
renderer.setPixelRatio( currentPixelRatio );
26581-
renderer.setSize( currentSize.width, currentSize.height, false );
26582-
2658326577
animation.stop();
2658426578

2658526579
scope.isPresenting = false;
@@ -26636,12 +26630,6 @@ console.warn( 'Scripts "build/three.js" and "build/three.min.js" are deprecated
2663626630

2663726631
};
2663826632

26639-
this._getRenderTarget = function () {
26640-
26641-
return newRenderTarget;
26642-
26643-
};
26644-
2664526633
this.getFrame = function () {
2664626634

2664726635
return xrFrame;
@@ -26691,9 +26679,6 @@ console.warn( 'Scripts "build/three.js" and "build/three.min.js" are deprecated
2669126679

2669226680
session.updateRenderState( { baseLayer: glBaseLayer } );
2669326681

26694-
renderer.setPixelRatio( 1 );
26695-
renderer.setSize( glBaseLayer.framebufferWidth, glBaseLayer.framebufferHeight, false );
26696-
2669726682
newRenderTarget = new WebGLRenderTarget(
2669826683
glBaseLayer.framebufferWidth,
2669926684
glBaseLayer.framebufferHeight,
@@ -26731,9 +26716,6 @@ console.warn( 'Scripts "build/three.js" and "build/three.min.js" are deprecated
2673126716

2673226717
session.updateRenderState( { layers: [ glProjLayer ] } );
2673326718

26734-
renderer.setPixelRatio( 1 );
26735-
renderer.setSize( glProjLayer.textureWidth, glProjLayer.textureHeight, false );
26736-
2673726719
newRenderTarget = new WebGLRenderTarget(
2673826720
glProjLayer.textureWidth,
2673926721
glProjLayer.textureHeight,
@@ -26758,9 +26740,6 @@ console.warn( 'Scripts "build/three.js" and "build/three.min.js" are deprecated
2675826740
customReferenceSpace = null;
2675926741
referenceSpace = await session.requestReferenceSpace( referenceSpaceType );
2676026742

26761-
currentPixelRatio = renderer.getPixelRatio();
26762-
renderer.getSize( currentSize );
26763-
2676426743
animation.setContext( session );
2676526744
animation.start();
2676626745

@@ -30153,13 +30132,6 @@ console.warn( 'Scripts "build/three.js" and "build/three.min.js" are deprecated
3015330132

3015430133
this.setRenderTarget = function ( renderTarget, activeCubeFace = 0, activeMipmapLevel = 0 ) {
3015530134

30156-
// Render to base layer instead of canvas in WebXR
30157-
if ( renderTarget === null && this.xr.isPresenting ) {
30158-
30159-
renderTarget = this.xr._getRenderTarget();
30160-
30161-
}
30162-
3016330135
_currentRenderTarget = renderTarget;
3016430136
_currentActiveCubeFace = activeCubeFace;
3016530137
_currentActiveMipmapLevel = activeMipmapLevel;

build/three.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/three.module.js

-28
Original file line numberDiff line numberDiff line change
@@ -26435,9 +26435,6 @@ class WebXRManager extends EventDispatcher {
2643526435
const controllers = [];
2643626436
const controllerInputSources = [];
2643726437

26438-
const currentSize = new Vector2();
26439-
let currentPixelRatio = null;
26440-
2644126438
//
2644226439

2644326440
const cameraL = new PerspectiveCamera();
@@ -26570,9 +26567,6 @@ class WebXRManager extends EventDispatcher {
2657026567

2657126568
//
2657226569

26573-
renderer.setPixelRatio( currentPixelRatio );
26574-
renderer.setSize( currentSize.width, currentSize.height, false );
26575-
2657626570
animation.stop();
2657726571

2657826572
scope.isPresenting = false;
@@ -26629,12 +26623,6 @@ class WebXRManager extends EventDispatcher {
2662926623

2663026624
};
2663126625

26632-
this._getRenderTarget = function () {
26633-
26634-
return newRenderTarget;
26635-
26636-
};
26637-
2663826626
this.getFrame = function () {
2663926627

2664026628
return xrFrame;
@@ -26684,9 +26672,6 @@ class WebXRManager extends EventDispatcher {
2668426672

2668526673
session.updateRenderState( { baseLayer: glBaseLayer } );
2668626674

26687-
renderer.setPixelRatio( 1 );
26688-
renderer.setSize( glBaseLayer.framebufferWidth, glBaseLayer.framebufferHeight, false );
26689-
2669026675
newRenderTarget = new WebGLRenderTarget(
2669126676
glBaseLayer.framebufferWidth,
2669226677
glBaseLayer.framebufferHeight,
@@ -26724,9 +26709,6 @@ class WebXRManager extends EventDispatcher {
2672426709

2672526710
session.updateRenderState( { layers: [ glProjLayer ] } );
2672626711

26727-
renderer.setPixelRatio( 1 );
26728-
renderer.setSize( glProjLayer.textureWidth, glProjLayer.textureHeight, false );
26729-
2673026712
newRenderTarget = new WebGLRenderTarget(
2673126713
glProjLayer.textureWidth,
2673226714
glProjLayer.textureHeight,
@@ -26751,9 +26733,6 @@ class WebXRManager extends EventDispatcher {
2675126733
customReferenceSpace = null;
2675226734
referenceSpace = await session.requestReferenceSpace( referenceSpaceType );
2675326735

26754-
currentPixelRatio = renderer.getPixelRatio();
26755-
renderer.getSize( currentSize );
26756-
2675726736
animation.setContext( session );
2675826737
animation.start();
2675926738

@@ -30146,13 +30125,6 @@ class WebGLRenderer {
3014630125

3014730126
this.setRenderTarget = function ( renderTarget, activeCubeFace = 0, activeMipmapLevel = 0 ) {
3014830127

30149-
// Render to base layer instead of canvas in WebXR
30150-
if ( renderTarget === null && this.xr.isPresenting ) {
30151-
30152-
renderTarget = this.xr._getRenderTarget();
30153-
30154-
}
30155-
3015630128
_currentRenderTarget = renderTarget;
3015730129
_currentActiveCubeFace = activeCubeFace;
3015830130
_currentActiveMipmapLevel = activeMipmapLevel;

build/three.module.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/files.json

-1
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,6 @@
367367
"webxr_vr_handinput_pressbutton",
368368
"webxr_vr_layers",
369369
"webxr_vr_panorama",
370-
"webxr_vr_postprocessing",
371370
"webxr_vr_panorama_depth",
372371
"webxr_vr_rollercoaster",
373372
"webxr_vr_sandbox",

examples/jsm/postprocessing/EffectComposer.js

+2-23
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ import { ShaderPass } from './ShaderPass.js';
1010
import { MaskPass } from './MaskPass.js';
1111
import { ClearMaskPass } from './MaskPass.js';
1212

13-
const size = /* @__PURE__ */ new Vector2();
14-
1513
class EffectComposer {
1614

1715
constructor( renderer, renderTarget ) {
@@ -22,7 +20,7 @@ class EffectComposer {
2220

2321
if ( renderTarget === undefined ) {
2422

25-
renderer.getSize( size );
23+
const size = renderer.getSize( new Vector2() );
2624
this._width = size.width;
2725
this._height = size.height;
2826

@@ -52,22 +50,6 @@ class EffectComposer {
5250

5351
this.clock = new Clock();
5452

55-
this.onSessionStateChange = this.onSessionStateChange.bind( this );
56-
this.renderer.xr.addEventListener( 'sessionstart', this.onSessionStateChange );
57-
this.renderer.xr.addEventListener( 'sessionend', this.onSessionStateChange );
58-
59-
}
60-
61-
onSessionStateChange() {
62-
63-
this.renderer.getSize( size );
64-
this._width = size.width;
65-
this._height = size.height;
66-
67-
this._pixelRatio = this.renderer.xr.isPresenting ? 1 : this.renderer.getPixelRatio();
68-
69-
this.setSize( this._width, this._height );
70-
7153
}
7254

7355
swapBuffers() {
@@ -188,7 +170,7 @@ class EffectComposer {
188170

189171
if ( renderTarget === undefined ) {
190172

191-
this.renderer.getSize( size );
173+
const size = this.renderer.getSize( new Vector2() );
192174
this._pixelRatio = this.renderer.getPixelRatio();
193175
this._width = size.width;
194176
this._height = size.height;
@@ -242,9 +224,6 @@ class EffectComposer {
242224

243225
this.copyPass.dispose();
244226

245-
this.renderer.xr.removeEventListener( 'sessionstart', this.onSessionStateChange );
246-
this.renderer.xr.removeEventListener( 'sessionend', this.onSessionStateChange );
247-
248227
}
249228

250229
}

examples/jsm/postprocessing/Pass.js

-6
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,7 @@ class FullScreenQuad {
6363

6464
render( renderer ) {
6565

66-
// Disable XR projection for fullscreen effects
67-
// https://github.com/mrdoob/three.js/pull/18846
68-
const xrEnabled = renderer.xr.enabled;
69-
70-
renderer.xr.enabled = false;
7166
renderer.render( this._mesh, _camera );
72-
renderer.xr.enabled = xrEnabled;
7367

7468
}
7569

-14.4 KB
Binary file not shown.

0 commit comments

Comments
 (0)