Browse Source

Address MrDoob's review comments

Rik Cabanier 3 years ago
parent
commit
0c7000ef32

+ 5 - 4
src/renderers/WebGLMultisampleRenderTarget.js

@@ -8,8 +8,9 @@ class WebGLMultisampleRenderTarget extends WebGLRenderTarget {
 
 		this.samples = 4;
 
-		this.useMultisampledRenderToTexture = ( options.useMultisampledRenderToTexture !== undefined ) ? options.useMultisampledRenderToTexture : false;
-		this.useMultisampledRenderbuffer = this.useMultisampledRenderToTexture === false;
+		this.ignoreDepthForMultisampleCopy = options.ignoreDepth !== undefined ? options.ignoreDepth : true;
+		this.useRenderToTexture = ( options.useMultisampledRenderToTexture !== undefined ) ? options.useMultisampledRenderToTexture : false;
+		this.useRenderbuffer = this.useRenderToTexture === false;
 
 	}
 
@@ -18,8 +19,8 @@ class WebGLMultisampleRenderTarget extends WebGLRenderTarget {
 		super.copy.call( this, source );
 
 		this.samples = source.samples;
-		this.useMultisampledRenderToTexture = source.useMultisampledRenderToTexture;
-		this.useMultisampledRenderbuffer = source.useMultisampledRenderbuffer;
+		this.useRenderToTexture = source.useMultisampledRenderToTexture;
+		this.useRenderbuffer = source.useRenderbuffer;
 
 		return this;
 

+ 0 - 3
src/renderers/WebGLRenderTarget.js

@@ -35,9 +35,6 @@ class WebGLRenderTarget extends EventDispatcher {
 		this.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true;
 		this.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : false;
 		this.depthTexture = options.depthTexture !== undefined ? options.depthTexture : null;
-		this.ignoreDepthForMultisampleCopy = options.ignoreDepth !== undefined ? options.ignoreDepth : true;
-		this.useMultisampledRenderToTexture = false;
-		this.useMultisampledRenderbuffer = false;
 
 	}
 

+ 5 - 5
src/renderers/WebGLRenderer.js

@@ -1275,7 +1275,7 @@ function WebGLRenderer( parameters = {} ) {
 				magFilter: NearestFilter,
 				wrapS: ClampToEdgeWrapping,
 				wrapT: ClampToEdgeWrapping,
-				useMultisampledRenderToTexture: extensions.has( 'EXT_multisampled_render_to_texture' )
+				useRenderToTexture: extensions.has( 'EXT_multisampled_render_to_texture' )
 			} );
 
 		}
@@ -1880,11 +1880,11 @@ function WebGLRenderer( parameters = {} ) {
 
 					// The multisample_render_to_texture extension doesn't work properly if there
 					// are midframe flushes and an external depth buffer. Disable use of the extension.
-					if ( renderTarget.useMultisampledRenderToTexture ) {
+					if ( renderTarget.useRenderToTexture ) {
 
 						console.warn( 'render-to-texture extension was disabled because an external texture was provided' );
-						renderTarget.useMultisampledRenderToTexture = false;
-						renderTarget.useMultisampledRenderbuffer = true;
+						renderTarget.useRenderToTexture = false;
+						renderTarget.useRenderbuffer = true;
 
 					}
 
@@ -1934,7 +1934,7 @@ function WebGLRenderer( parameters = {} ) {
 				framebuffer = __webglFramebuffer[ activeCubeFace ];
 				isCube = true;
 
-			} else if ( renderTarget.useMultisampledRenderbuffer ) {
+			} else if ( renderTarget.useRenderbuffer ) {
 
 				framebuffer = properties.get( renderTarget ).__webglMultisampledFramebuffer;
 

+ 14 - 14
src/renderers/webgl/WebGLTextures.js

@@ -9,8 +9,8 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 	const maxCubemapSize = capabilities.maxCubemapSize;
 	const maxTextureSize = capabilities.maxTextureSize;
 	const maxSamples = capabilities.maxSamples;
-	const MultisampledRenderToTextureSupported = extensions.has( 'EXT_multisampled_render_to_texture' );
-	const MultisampledRenderToTextureExtension = MultisampledRenderToTextureSupported ? extensions.get( 'EXT_multisampled_render_to_texture' ) : undefined;
+	const hasMultisampledRenderToTexture = extensions.has( 'EXT_multisampled_render_to_texture' );
+	const MultisampledRenderToTextureExtension = hasMultisampledRenderToTexture ? extensions.get( 'EXT_multisampled_render_to_texture' ) : undefined;
 
 	const _videoTextures = new WeakMap();
 	let _canvas;
@@ -877,7 +877,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 		}
 
 		state.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer );
-		if ( renderTarget.useMultisampledRenderToTexture ) {
+		if ( renderTarget.useRenderToTexture ) {
 
 			MultisampledRenderToTextureExtension.framebufferTexture2DMultisampleEXT( _gl.FRAMEBUFFER, attachment, textureTarget, properties.get( texture ).__webglTexture, 0, getRenderTargetSamples( renderTarget ) );
 
@@ -901,7 +901,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 			let glInternalFormat = _gl.DEPTH_COMPONENT16;
 
-			if ( isMultisample || renderTarget.useMultisampledRenderToTexture ) {
+			if ( isMultisample || renderTarget.useRenderToTexture ) {
 
 				const depthTexture = renderTarget.depthTexture;
 
@@ -921,7 +921,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 				const samples = getRenderTargetSamples( renderTarget );
 
-				if ( renderTarget.useMultisampledRenderToTexture ) {
+				if ( renderTarget.useRenderToTexture ) {
 
 					MultisampledRenderToTextureExtension.renderbufferStorageMultisampleEXT( _gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height );
 
@@ -943,11 +943,11 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 			const samples = getRenderTargetSamples( renderTarget );
 
-			if ( isMultisample && renderTarget.useMultisampledRenderbuffer ) {
+			if ( isMultisample && renderTarget.useRenderbuffer ) {
 
 				_gl.renderbufferStorageMultisample( _gl.RENDERBUFFER, samples, _gl.DEPTH24_STENCIL8, renderTarget.width, renderTarget.height );
 
-			} else if ( renderTarget.useMultisampledRenderToTexture ) {
+			} else if ( renderTarget.useRenderToTexture ) {
 
 				MultisampledRenderToTextureExtension.renderbufferStorageMultisampleEXT( _gl.RENDERBUFFER, samples, _gl.DEPTH24_STENCIL8, renderTarget.width, renderTarget.height );
 
@@ -970,11 +970,11 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 			const glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding );
 			const samples = getRenderTargetSamples( renderTarget );
 
-			if ( isMultisample && renderTarget.useMultisampledRenderbuffer ) {
+			if ( isMultisample && renderTarget.useRenderbuffer ) {
 
 				_gl.renderbufferStorageMultisample( _gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height );
 
-			} else if ( renderTarget.useMultisampledRenderToTexture ) {
+			} else if ( renderTarget.useRenderToTexture ) {
 
 				MultisampledRenderToTextureExtension.renderbufferStorageMultisampleEXT( _gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height );
 
@@ -1022,7 +1022,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 		if ( renderTarget.depthTexture.format === DepthFormat ) {
 
-			if ( renderTarget.useMultisampledRenderToTexture ) {
+			if ( renderTarget.useRenderToTexture ) {
 
 				MultisampledRenderToTextureExtension.framebufferTexture2DMultisampleEXT( _gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0, samples );
 
@@ -1034,7 +1034,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 		} else if ( renderTarget.depthTexture.format === DepthStencilFormat ) {
 
-			if ( renderTarget.useMultisampledRenderToTexture ) {
+			if ( renderTarget.useRenderToTexture ) {
 
 				MultisampledRenderToTextureExtension.framebufferTexture2DMultisampleEXT( _gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0, samples );
 
@@ -1191,7 +1191,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 				}
 
-			} else if ( renderTarget.useMultisampledRenderbuffer ) {
+			} else if ( renderTarget.useRenderbuffer ) {
 
 				if ( isWebGL2 ) {
 
@@ -1346,7 +1346,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 	function updateMultisampleRenderTarget( renderTarget ) {
 
-		if ( renderTarget.useMultisampledRenderbuffer ) {
+		if ( renderTarget.useRenderbuffer ) {
 
 			if ( isWebGL2 ) {
 
@@ -1399,7 +1399,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 	function getRenderTargetSamples( renderTarget ) {
 
-		return ( isWebGL2 && ( renderTarget.useMultisampledRenderbuffer || renderTarget.useMultisampledRenderToTexture ) ) ?
+		return ( isWebGL2 && ( renderTarget.useRenderbuffer || renderTarget.useRenderToTexture ) ) ?
 			Math.min( maxSamples, renderTarget.samples ) : 0;
 
 	}

+ 2 - 2
src/renderers/webxr/WebXRManager.js

@@ -31,7 +31,7 @@ class WebXRManager extends EventDispatcher {
 
 		let referenceSpace = null;
 		let referenceSpaceType = 'local-floor';
-		const MultisampledRenderToTextureSupported = renderer.extensions.has( 'EXT_multisampled_render_to_texture' );
+		const hasMultisampledRenderToTexture = renderer.extensions.has( 'EXT_multisampled_render_to_texture' );
 
 		let pose = null;
 		let glBinding = null;
@@ -298,7 +298,7 @@ class WebXRManager extends EventDispatcher {
 								depthTexture: new DepthTexture( glProjLayer.textureWidth, glProjLayer.textureHeight, depthType, undefined, undefined, undefined, undefined, undefined, undefined, depthFormat ),
 								stencilBuffer: attributes.stencil,
 								ignoreDepth: glProjLayer.ignoreDepthValues,
-								useMultisampledRenderToTexture: MultisampledRenderToTextureSupported,
+								useRenderToTexture: hasMultisampledRenderToTexture,
 							} );
 
 					} else {