|
@@ -14470,27 +14470,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 'additive':
|
|
|
-
|
|
|
- state.buffers.color.setClear( 0, 0, 0, 1, premultipliedAlpha );
|
|
|
-
|
|
|
- break;
|
|
|
-
|
|
|
- case 'alpha-blend':
|
|
|
-
|
|
|
- state.buffers.color.setClear( 0, 0, 0, 0, premultipliedAlpha );
|
|
|
-
|
|
|
- break;
|
|
|
+ case 'opaque':
|
|
|
+ forceClear = true;
|
|
|
+ break;
|
|
|
|
|
|
- }
|
|
|
+ case 'additive':
|
|
|
+ state.buffers.color.setClear( 0, 0, 0, 1, premultipliedAlpha );
|
|
|
+ forceClear = true;
|
|
|
+ break;
|
|
|
|
|
|
- forceClear = true;
|
|
|
+ case 'alpha-blend':
|
|
|
+ state.buffers.color.setClear( 0, 0, 0, 0, premultipliedAlpha );
|
|
|
+ forceClear = true;
|
|
|
+ break;
|
|
|
|
|
|
}
|
|
|
|
|
@@ -26160,6 +26156,16 @@ class WebXRManager extends EventDispatcher {
|
|
|
|
|
|
};
|
|
|
|
|
|
+ this.getEnvironmentBlendMode = function () {
|
|
|
+
|
|
|
+ if ( session !== null ) {
|
|
|
+
|
|
|
+ return session.environmentBlendMode;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
function onInputSourcesChange( event ) {
|
|
|
|
|
|
// Notify disconnected
|