Browse Source

Improve WebXR layers feature testing (#30112)

Brandon Jones 1 year ago
parent
commit
b6f7ba2328
2 changed files with 7 additions and 3 deletions
  1. 4 2
      examples/webxr_vr_layers.html
  2. 3 1
      src/renderers/webxr/WebXRManager.js

+ 4 - 2
examples/webxr_vr_layers.html

@@ -305,7 +305,9 @@
 				const gl = renderer.getContext();
 
 				// Init layers once in immersive mode and video is ready.
-				if ( session && session.renderState.layers === undefined ) {
+				const useLayers = session.enabledFeatures !== undefined && session.enabledFeatures.includes('layers');
+
+				if ( session && ! useLayers ) {
 
 					errorMesh.visible = true;
 
@@ -313,7 +315,7 @@
 
 				if (
 					session &&
-					session.renderState.layers !== undefined &&
+					useLayers &&
 					session.hasMediaLayer === undefined &&
 					video.readyState >= 2
 				) {

+ 3 - 1
src/renderers/webxr/WebXRManager.js

@@ -275,7 +275,9 @@ class WebXRManager extends EventDispatcher {
 				currentPixelRatio = renderer.getPixelRatio();
 				renderer.getSize( currentSize );
 
-				if ( session.renderState.layers === undefined ) {
+				const useLayers = session.enabledFeatures !== undefined && session.enabledFeatures.includes( 'layers' );
+
+				if ( ! useLayers ) {
 
 					const layerInit = {
 						antialias: attributes.antialias,

粤ICP备19079148号