Ver código fonte

XRManager: Clean up. (#30358)

Michael Herzog 1 ano atrás
pai
commit
f7be954503

+ 7 - 1
examples/webgpu_xr_cubes.html

@@ -122,7 +122,13 @@
 				controller.addEventListener( 'selectend', onSelectEnd );
 				controller.addEventListener( 'selectend', onSelectEnd );
 				controller.addEventListener( 'connected', function ( event ) {
 				controller.addEventListener( 'connected', function ( event ) {
 
 
-					this.add( buildController( event.data ) );
+					const targetRayMode = event.data.targetRayMode;
+
+					if ( targetRayMode === 'tracked-pointer' || targetRayMode === 'gaze' ) {
+
+						this.add( buildController( event.data ) );
+
+					}
 
 
 				} );
 				} );
 				controller.addEventListener( 'disconnected', function () {
 				controller.addEventListener( 'disconnected', function () {

+ 1 - 2
src/renderers/common/XRManager.js

@@ -882,6 +882,7 @@ function onSessionEnd() {
 
 
 	// restore framebuffer/rendering state
 	// restore framebuffer/rendering state
 
 
+	renderer.setXRTarget( null );
 	renderer.setRenderTarget( this._currentRenderTarget );
 	renderer.setRenderTarget( this._currentRenderTarget );
 
 
 	this._session = null;
 	this._session = null;
@@ -900,8 +901,6 @@ function onSessionEnd() {
 	renderer.setPixelRatio( this._currentPixelRatio );
 	renderer.setPixelRatio( this._currentPixelRatio );
 	renderer.setSize( this._currentSize.width, this._currentSize.height, false );
 	renderer.setSize( this._currentSize.width, this._currentSize.height, false );
 
 
-	renderer.setXRTarget( null );
-
 	this.dispatchEvent( { type: 'sessionend' } );
 	this.dispatchEvent( { type: 'sessionend' } );
 
 
 }
 }

粤ICP备19079148号