Browse Source

Updated builds

Mr.doob 4 years ago
parent
commit
17d8a12b89
3 changed files with 79 additions and 50 deletions
  1. 38 26
      build/three.js
  2. 0 0
      build/three.min.js
  3. 41 24
      build/three.module.js

+ 38 - 26
build/three.js

@@ -16424,6 +16424,7 @@
 			let glBinding = null;
 			let glBinding = null;
 			let glFramebuffer = null;
 			let glFramebuffer = null;
 			let glProjLayer = null;
 			let glProjLayer = null;
+			let glBaseLayer = null;
 			const controllers = [];
 			const controllers = [];
 			const inputSourcesMap = new Map(); //
 			const inputSourcesMap = new Map(); //
 
 
@@ -16556,31 +16557,43 @@
 							depth: attributes.depth,
 							depth: attributes.depth,
 							stencil: attributes.stencil,
 							stencil: attributes.stencil,
 							framebufferScaleFactor: framebufferScaleFactor
 							framebufferScaleFactor: framebufferScaleFactor
-						}; // eslint-disable-next-line no-undef
-
-						const baseLayer = new XRWebGLLayer(session, gl, layerInit);
+						};
+						glBaseLayer = new XRWebGLLayer(session, gl, layerInit);
 						session.updateRenderState({
 						session.updateRenderState({
-							baseLayer: baseLayer
+							baseLayer: glBaseLayer
 						});
 						});
 					} else {
 					} else {
-						let depthFormat = 0;
+						let depthFormat = 0; // for anti-aliased output, use classic webgllayer for now
+
+						if (attributes.antialias) {
+							const layerInit = {
+								antialias: true,
+								alpha: attributes.alpha,
+								depth: attributes.depth,
+								stencil: attributes.stencil,
+								framebufferScaleFactor: framebufferScaleFactor
+							};
+							glBaseLayer = new XRWebGLLayer(session, gl, layerInit);
+							session.updateRenderState({
+								layers: [glBaseLayer]
+							});
+						} else {
+							if (attributes.depth) {
+								depthFormat = attributes.stencil ? gl.DEPTH_STENCIL : gl.DEPTH_COMPONENT;
+							}
 
 
-						if (attributes.depth) {
-							depthFormat = attributes.stencil ? gl.DEPTH_STENCIL : gl.DEPTH_COMPONENT;
+							const projectionlayerInit = {
+								colorFormat: attributes.alpha ? gl.RGBA : gl.RGB,
+								depthFormat: depthFormat,
+								scaleFactor: framebufferScaleFactor
+							};
+							glBinding = new XRWebGLBinding(session, gl);
+							glProjLayer = glBinding.createProjectionLayer(projectionlayerInit);
+							glFramebuffer = gl.createFramebuffer();
+							session.updateRenderState({
+								layers: [glProjLayer]
+							});
 						}
 						}
-
-						const projectionlayerInit = {
-							colorFormat: attributes.alpha ? gl.RGBA : gl.RGB,
-							depthFormat: depthFormat,
-							scaleFactor: framebufferScaleFactor
-						}; // eslint-disable-next-line no-undef
-
-						glBinding = new XRWebGLBinding(session, gl);
-						glProjLayer = glBinding.createProjectionLayer(projectionlayerInit);
-						glFramebuffer = gl.createFramebuffer();
-						session.updateRenderState({
-							layers: [glProjLayer]
-						});
 					}
 					}
 
 
 					referenceSpace = await session.requestReferenceSpace(referenceSpaceType);
 					referenceSpace = await session.requestReferenceSpace(referenceSpaceType);
@@ -16744,10 +16757,9 @@
 
 
 				if (pose !== null) {
 				if (pose !== null) {
 					const views = pose.views;
 					const views = pose.views;
-					const baseLayer = session.renderState.baseLayer;
 
 
-					if (session.renderState.layers === undefined) {
-						state.bindXRFramebuffer(baseLayer.framebuffer);
+					if (glBaseLayer !== null) {
+						state.bindXRFramebuffer(glBaseLayer.framebuffer);
 					}
 					}
 
 
 					let cameraVRNeedsUpdate = false; // check if it's necessary to rebuild cameraVR's camera list
 					let cameraVRNeedsUpdate = false; // check if it's necessary to rebuild cameraVR's camera list
@@ -16761,17 +16773,17 @@
 						const view = views[i];
 						const view = views[i];
 						let viewport = null;
 						let viewport = null;
 
 
-						if (session.renderState.layers === undefined) {
-							viewport = baseLayer.getViewport(view);
+						if (glBaseLayer !== null) {
+							viewport = glBaseLayer.getViewport(view);
 						} else {
 						} else {
 							const glSubImage = glBinding.getViewSubImage(glProjLayer, view);
 							const glSubImage = glBinding.getViewSubImage(glProjLayer, view);
 							state.bindXRFramebuffer(glFramebuffer);
 							state.bindXRFramebuffer(glFramebuffer);
-							gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, glSubImage.colorTexture, 0);
 
 
 							if (glSubImage.depthStencilTexture !== undefined) {
 							if (glSubImage.depthStencilTexture !== undefined) {
 								gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, glSubImage.depthStencilTexture, 0);
 								gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, glSubImage.depthStencilTexture, 0);
 							}
 							}
 
 
+							gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, glSubImage.colorTexture, 0);
 							viewport = glSubImage.viewport;
 							viewport = glSubImage.viewport;
 						}
 						}
 
 

File diff suppressed because it is too large
+ 0 - 0
build/three.min.js


+ 41 - 24
build/three.module.js

@@ -22196,6 +22196,7 @@ class WebXRManager extends EventDispatcher {
 		let glBinding = null;
 		let glBinding = null;
 		let glFramebuffer = null;
 		let glFramebuffer = null;
 		let glProjLayer = null;
 		let glProjLayer = null;
+		let glBaseLayer = null;
 
 
 		const controllers = [];
 		const controllers = [];
 		const inputSourcesMap = new Map();
 		const inputSourcesMap = new Map();
@@ -22382,35 +22383,52 @@ class WebXRManager extends EventDispatcher {
 						framebufferScaleFactor: framebufferScaleFactor
 						framebufferScaleFactor: framebufferScaleFactor
 					};
 					};
 
 
-					// eslint-disable-next-line no-undef
-					const baseLayer = new XRWebGLLayer( session, gl, layerInit );
+					glBaseLayer = new XRWebGLLayer( session, gl, layerInit );
 
 
-					session.updateRenderState( { baseLayer: baseLayer } );
+					session.updateRenderState( { baseLayer: glBaseLayer } );
 
 
 				} else {
 				} else {
 
 
 					let depthFormat = 0;
 					let depthFormat = 0;
 
 
-					if ( attributes.depth ) {
+					// for anti-aliased output, use classic webgllayer for now
+					if ( attributes.antialias ) {
 
 
-						depthFormat = attributes.stencil ? 34041 : 6402;
+						const layerInit = {
+							antialias: true,
+							alpha: attributes.alpha,
+							depth: attributes.depth,
+							stencil: attributes.stencil,
+							framebufferScaleFactor: framebufferScaleFactor
+						};
 
 
-					}
+						glBaseLayer = new XRWebGLLayer( session, gl, layerInit );
 
 
-					const projectionlayerInit = {
-						colorFormat: attributes.alpha ? 6408 : 6407,
-						depthFormat: depthFormat,
-						scaleFactor: framebufferScaleFactor
-					};
+						session.updateRenderState( { layers: [ glBaseLayer ] } );
+
+					} else {
+
+						if ( attributes.depth ) {
+
+							depthFormat = attributes.stencil ? 34041 : 6402;
+
+						}
+
+						const projectionlayerInit = {
+							colorFormat: attributes.alpha ? 6408 : 6407,
+							depthFormat: depthFormat,
+							scaleFactor: framebufferScaleFactor
+						};
 
 
-					// eslint-disable-next-line no-undef
-					glBinding = new XRWebGLBinding( session, gl );
+						glBinding = new XRWebGLBinding( session, gl );
 
 
-					glProjLayer = glBinding.createProjectionLayer( projectionlayerInit );
+						glProjLayer = glBinding.createProjectionLayer( projectionlayerInit );
 
 
-					glFramebuffer = gl.createFramebuffer();
+						glFramebuffer = gl.createFramebuffer();
 
 
-					session.updateRenderState( { layers: [ glProjLayer ] } );
+						session.updateRenderState( { layers: [ glProjLayer ] } );
+
+					}
 
 
 				}
 				}
 
 
@@ -22632,11 +22650,9 @@ class WebXRManager extends EventDispatcher {
 
 
 				const views = pose.views;
 				const views = pose.views;
 
 
-				const baseLayer = session.renderState.baseLayer;
+				if ( glBaseLayer !== null ) {
 
 
-				if ( session.renderState.layers === undefined ) {
-
-					state.bindXRFramebuffer( baseLayer.framebuffer );
+					state.bindXRFramebuffer( glBaseLayer.framebuffer );
 
 
 				}
 				}
 
 
@@ -22659,9 +22675,9 @@ class WebXRManager extends EventDispatcher {
 
 
 					let viewport = null;
 					let viewport = null;
 
 
-					if ( session.renderState.layers === undefined ) {
+					if ( glBaseLayer !== null ) {
 
 
-						viewport = baseLayer.getViewport( view );
+						viewport = glBaseLayer.getViewport( view );
 
 
 					} else {
 					} else {
 
 
@@ -22669,14 +22685,14 @@ class WebXRManager extends EventDispatcher {
 
 
 						state.bindXRFramebuffer( glFramebuffer );
 						state.bindXRFramebuffer( glFramebuffer );
 
 
-						gl.framebufferTexture2D( 36160, 36064, 3553, glSubImage.colorTexture, 0 );
-
 						if ( glSubImage.depthStencilTexture !== undefined ) {
 						if ( glSubImage.depthStencilTexture !== undefined ) {
 
 
 							gl.framebufferTexture2D( 36160, 36096, 3553, glSubImage.depthStencilTexture, 0 );
 							gl.framebufferTexture2D( 36160, 36096, 3553, glSubImage.depthStencilTexture, 0 );
 
 
 						}
 						}
 
 
+						gl.framebufferTexture2D( 36160, 36064, 3553, glSubImage.colorTexture, 0 );
+
 						viewport = glSubImage.viewport;
 						viewport = glSubImage.viewport;
 
 
 					}
 					}
@@ -22723,6 +22739,7 @@ class WebXRManager extends EventDispatcher {
 		}
 		}
 
 
 		const animation = new WebGLAnimation();
 		const animation = new WebGLAnimation();
+
 		animation.setAnimationLoop( onAnimationFrame );
 		animation.setAnimationLoop( onAnimationFrame );
 
 
 		this.setAnimationLoop = function ( callback ) {
 		this.setAnimationLoop = function ( callback ) {

Some files were not shown because too many files changed in this diff