Browse Source

WebXRManager: Added getEnvironmentBlendMode(). (#25825)

* WebXRManager: Added getEnvironmentBlendMode().

* Clean up.
mrdoob 2 years ago
parent
commit
1cb421f2eb
2 changed files with 23 additions and 17 deletions
  1. 13 17
      src/renderers/webgl/WebGLBackground.js
  2. 10 0
      src/renderers/webxr/WebXRManager.js

+ 13 - 17
src/renderers/webgl/WebGLBackground.js

@@ -45,27 +45,23 @@ function WebGLBackground( renderer, cubemaps, cubeuvmaps, state, objects, alpha,
 		}
 
 		const xr = renderer.xr;
-		const session = xr.getSession();
+		const environmentBlendMode = xr.getEnvironmentBlendMode();
 
-		if ( session !== null ) {
+		switch ( environmentBlendMode ) {
 
-			switch ( session.environmentBlendMode ) {
+			case 'opaque':
+				forceClear = true;
+				break;
 
-				case 'additive':
+			case 'additive':
+				state.buffers.color.setClear( 0, 0, 0, 1, premultipliedAlpha );
+				forceClear = true;
+				break;
 
-					state.buffers.color.setClear( 0, 0, 0, 1, premultipliedAlpha );
-
-					break;
-
-				case 'alpha-blend':
-
-					state.buffers.color.setClear( 0, 0, 0, 0, premultipliedAlpha );
-
-					break;
-
-			}
-
-			forceClear = true;
+			case 'alpha-blend':
+				state.buffers.color.setClear( 0, 0, 0, 0, premultipliedAlpha );
+				forceClear = true;
+				break;
 
 		}
 

+ 10 - 0
src/renderers/webxr/WebXRManager.js

@@ -351,6 +351,16 @@ class WebXRManager extends EventDispatcher {
 
 		};
 
+		this.getEnvironmentBlendMode = function () {
+
+			if ( session !== null ) {
+
+				return session.environmentBlendMode;
+
+			}
+
+		};
+
 		function onInputSourcesChange( event ) {
 
 			// Notify disconnected