Browse Source

Addressed review comments

Rik Cabanier 3 years ago
parent
commit
d86e2af4bc

+ 5 - 4
src/renderers/WebGLMultisampleRenderTarget.js

@@ -7,8 +7,9 @@ class WebGLMultisampleRenderTarget extends WebGLRenderTarget {
 		super( width, height, options );
 
 		this.samples = 4;
-		this.useMultisampleRenderToTexture = ( options.useMultisampleRenderToTexture !== undefined ) ? options.useMultisampleRenderToTexture : false;
-		this.useMultisampleRenderbuffer = this.useMultisampleRenderToTexture === false;
+
+		this.useMultisampledRenderToTexture = ( options.useMultisampledRenderToTexture !== undefined ) ? options.useMultisampledRenderToTexture : false;
+		this.useMultisampledRenderbuffer = this.useMultisampledRenderToTexture === false;
 
 	}
 
@@ -17,8 +18,8 @@ class WebGLMultisampleRenderTarget extends WebGLRenderTarget {
 		super.copy.call( this, source );
 
 		this.samples = source.samples;
-		this.useMultisampleRenderToTexture = source.useMultisampleRenderToTexture;
-		this.useMultisampleRenderbuffer = source.useMultisampleRenderbuffer;
+		this.useMultisampledRenderToTexture = source.useMultisampledRenderToTexture;
+		this.useMultisampledRenderbuffer = source.useMultisampledRenderbuffer;
 
 		return this;
 

+ 2 - 3
src/renderers/WebGLRenderTarget.js

@@ -36,9 +36,8 @@ class WebGLRenderTarget extends EventDispatcher {
 		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.hasExternalTextures = false;
-		this.useMultisampleRenderToTexture = false;
-		this.useMultisampleRenderbuffer = false;
+		this.useMultisampledRenderToTexture = false;
+		this.useMultisampledRenderbuffer = false;
 
 	}
 

+ 8 - 8
src/renderers/WebGLRenderer.js

@@ -1281,7 +1281,7 @@ function WebGLRenderer( parameters = {} ) {
 				magFilter: NearestFilter,
 				wrapS: ClampToEdgeWrapping,
 				wrapT: ClampToEdgeWrapping,
-				useMultisampleRenderToTexture: extensions.has( 'EXT_multisampled_render_to_texture' )
+				useMultisampledRenderToTexture: extensions.has( 'EXT_multisampled_render_to_texture' )
 			} );
 
 		}
@@ -1871,25 +1871,25 @@ function WebGLRenderer( parameters = {} ) {
 				hasNewExternalTextures = true;
 				properties.get( renderTarget.texture ).__webglTexture = options.colorTexture;
 
-				renderTarget.autoAllocateDepthBuffer = options.depthTexture === undefined;
+				renderTargetProperties.__autoAllocateDepthBuffer = options.depthTexture === undefined;
 
-				if ( ! renderTarget.autoAllocateDepthBuffer ) {
+				if ( ! renderTargetProperties.__autoAllocateDepthBuffer ) {
 
 					properties.get( renderTarget.depthTexture ).__webglTexture = options.depthTexture;
 
 					// 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.useMultisampleRenderToTexture ) {
+					if ( renderTarget.useMultisampledRenderToTexture ) {
 
 						console.warn( 'render-to-texture extension was disabled because an external texture was provided' );
-						renderTarget.useMultisampleRenderToTexture = false;
-						renderTarget.useMultisampleRenderbuffer = true;
+						renderTarget.useMultisampledRenderToTexture = false;
+						renderTarget.useMultisampledRenderbuffer = true;
 
 					}
 
 				}
 
-				renderTarget.hasExternalTextures = true;
+				renderTargetProperties.__hasExternalTextures = true;
 
 			}
 
@@ -1933,7 +1933,7 @@ function WebGLRenderer( parameters = {} ) {
 				framebuffer = __webglFramebuffer[ activeCubeFace ];
 				isCube = true;
 
-			} else if ( renderTarget.useMultisampleRenderbuffer ) {
+			} else if ( renderTarget.useMultisampledRenderbuffer ) {
 
 				framebuffer = properties.get( renderTarget ).__webglMultisampledFramebuffer;
 

+ 1 - 1
src/renderers/webgl/WebGLExtensions.js

@@ -65,12 +65,12 @@ function WebGLExtensions( gl ) {
 				getExtension( 'OES_element_index_uint' );
 				getExtension( 'OES_vertex_array_object' );
 				getExtension( 'ANGLE_instanced_arrays' );
+				getExtension( 'EXT_multisampled_render_to_texture' );
 
 			}
 
 			getExtension( 'OES_texture_float_linear' );
 			getExtension( 'EXT_color_buffer_half_float' );
-			getExtension( 'EXT_multisampled_render_to_texture' );
 
 		},
 

+ 23 - 22
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 msaartcSupported = extensions.has( 'EXT_multisampled_render_to_texture' );
-	const msaaExt = msaartcSupported ? extensions.get( 'EXT_multisampled_render_to_texture' ) : undefined;
+	const MultisampledRenderToTextureSupported = extensions.has( 'EXT_multisampled_render_to_texture' );
+	const MultisampledRenderToTextureExtension = MultisampledRenderToTextureSupported ? extensions.get( 'EXT_multisampled_render_to_texture' ) : undefined;
 
 	const _videoTextures = new WeakMap();
 	let _canvas;
@@ -860,8 +860,9 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 		const glFormat = utils.convert( texture.format );
 		const glType = utils.convert( texture.type );
 		const glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding );
+		const renderTargetProperties = properties.get( renderTarget );
 
-		if ( ! renderTarget.hasExternalTextures ) {
+		if ( ! renderTargetProperties.__hasExternalTextures ) {
 
 			if ( textureTarget === _gl.TEXTURE_3D || textureTarget === _gl.TEXTURE_2D_ARRAY ) {
 
@@ -876,9 +877,9 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 		}
 
 		state.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer );
-		if ( renderTarget.useMultisampleRenderToTexture ) {
+		if ( renderTarget.useMultisampledRenderToTexture ) {
 
-			msaaExt.framebufferTexture2DMultisampleEXT( _gl.FRAMEBUFFER, attachment, textureTarget, properties.get( texture ).__webglTexture, 0, getRenderTargetSamples( renderTarget ) );
+			MultisampledRenderToTextureExtension.framebufferTexture2DMultisampleEXT( _gl.FRAMEBUFFER, attachment, textureTarget, properties.get( texture ).__webglTexture, 0, getRenderTargetSamples( renderTarget ) );
 
 		} else {
 
@@ -900,7 +901,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 			let glInternalFormat = _gl.DEPTH_COMPONENT16;
 
-			if ( isMultisample || renderTarget.useMultisampleRenderToTexture ) {
+			if ( isMultisample || renderTarget.useMultisampledRenderToTexture ) {
 
 				const depthTexture = renderTarget.depthTexture;
 
@@ -920,9 +921,9 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 				const samples = getRenderTargetSamples( renderTarget );
 
-				if ( renderTarget.useMultisampleRenderToTexture ) {
+				if ( renderTarget.useMultisampledRenderToTexture ) {
 
-					msaaExt.renderbufferStorageMultisampleEXT( _gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height );
+					MultisampledRenderToTextureExtension.renderbufferStorageMultisampleEXT( _gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height );
 
 				} else {
 
@@ -942,13 +943,13 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 			const samples = getRenderTargetSamples( renderTarget );
 
-			if ( isMultisample && renderTarget.useMultisampleRenderbuffer ) {
+			if ( isMultisample && renderTarget.useMultisampledRenderbuffer ) {
 
 				_gl.renderbufferStorageMultisample( _gl.RENDERBUFFER, samples, _gl.DEPTH24_STENCIL8, renderTarget.width, renderTarget.height );
 
-			} else if ( renderTarget.useMultisampleRenderToTexture ) {
+			} else if ( renderTarget.useMultisampledRenderToTexture ) {
 
-				msaaExt.renderbufferStorageMultisampleEXT( _gl.RENDERBUFFER, samples, _gl.DEPTH24_STENCIL8, renderTarget.width, renderTarget.height );
+				MultisampledRenderToTextureExtension.renderbufferStorageMultisampleEXT( _gl.RENDERBUFFER, samples, _gl.DEPTH24_STENCIL8, renderTarget.width, renderTarget.height );
 
 			} else {
 
@@ -969,13 +970,13 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 			const glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding );
 			const samples = getRenderTargetSamples( renderTarget );
 
-			if ( isMultisample && renderTarget.useMultisampleRenderbuffer ) {
+			if ( isMultisample && renderTarget.useMultisampledRenderbuffer ) {
 
 				_gl.renderbufferStorageMultisample( _gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height );
 
-			} else if ( renderTarget.useMultisampleRenderToTexture ) {
+			} else if ( renderTarget.useMultisampledRenderToTexture ) {
 
-				msaaExt.renderbufferStorageMultisampleEXT( _gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height );
+				MultisampledRenderToTextureExtension.renderbufferStorageMultisampleEXT( _gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height );
 
 			} else {
 
@@ -1021,9 +1022,9 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 		if ( renderTarget.depthTexture.format === DepthFormat ) {
 
-			if ( renderTarget.useMultisampleRenderToTexture ) {
+			if ( renderTarget.useMultisampledRenderToTexture ) {
 
-				msaaExt.framebufferTexture2DMultisampleEXT( _gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0, samples );
+				MultisampledRenderToTextureExtension.framebufferTexture2DMultisampleEXT( _gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0, samples );
 
 			} else {
 
@@ -1033,9 +1034,9 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 		} else if ( renderTarget.depthTexture.format === DepthStencilFormat ) {
 
-			if ( renderTarget.useMultisampleRenderToTexture ) {
+			if ( renderTarget.useMultisampledRenderToTexture ) {
 
-				msaaExt.framebufferTexture2DMultisampleEXT( _gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0, samples );
+				MultisampledRenderToTextureExtension.framebufferTexture2DMultisampleEXT( _gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0, samples );
 
 			} else {
 
@@ -1057,7 +1058,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 		const renderTargetProperties = properties.get( renderTarget );
 		const isCube = ( renderTarget.isWebGLCubeRenderTarget === true );
 
-		if ( renderTarget.depthTexture && ! renderTarget.autoAllocateDepthBuffer ) {
+		if ( renderTarget.depthTexture && ! renderTargetProperties.__autoAllocateDepthBuffer ) {
 
 			if ( isCube ) throw new Error( 'target.depthTexture not supported in Cube render targets' );
 
@@ -1190,7 +1191,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 				}
 
-			} else if ( renderTarget.useMultisampleRenderbuffer ) {
+			} else if ( renderTarget.useMultisampledRenderbuffer ) {
 
 				if ( isWebGL2 ) {
 
@@ -1345,7 +1346,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 	function updateMultisampleRenderTarget( renderTarget ) {
 
-		if ( renderTarget.useMultisampleRenderbuffer ) {
+		if ( renderTarget.useMultisampledRenderbuffer ) {
 
 			if ( isWebGL2 ) {
 
@@ -1398,7 +1399,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 	function getRenderTargetSamples( renderTarget ) {
 
-		return ( isWebGL2 && ( renderTarget.useMultisampleRenderbuffer || renderTarget.useMultisampleRenderToTexture ) ) ?
+		return ( isWebGL2 && ( renderTarget.useMultisampledRenderbuffer || renderTarget.useMultisampledRenderToTexture ) ) ?
 			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 msaartcSupported = renderer.extensions.has( 'EXT_multisampled_render_to_texture' );
+		const MultisampledRenderToTextureSupported = 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,
-								useMultisampleRenderToTexture: msaartcSupported,
+								useMultisampledRenderToTexture: MultisampledRenderToTextureSupported,
 							} );
 
 					} else {