Browse Source

WebGLTextures: Clean up.

Mr.doob 4 years ago
parent
commit
341aa569e4
1 changed files with 16 additions and 9 deletions
  1. 16 9
      src/renderers/webgl/WebGLTextures.js

+ 16 - 9
src/renderers/webgl/WebGLTextures.js

@@ -244,8 +244,10 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 
 	function deallocateRenderTarget( renderTarget ) {
 	function deallocateRenderTarget( renderTarget ) {
 
 
+		const texture = renderTarget.texture;
+
 		const renderTargetProperties = properties.get( renderTarget );
 		const renderTargetProperties = properties.get( renderTarget );
-		const textureProperties = properties.get( renderTarget.texture );
+		const textureProperties = properties.get( texture );
 
 
 		if ( ! renderTarget ) return;
 		if ( ! renderTarget ) return;
 
 
@@ -280,7 +282,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 
 		}
 		}
 
 
-		properties.remove( renderTarget.texture );
+		properties.remove( texture );
 		properties.remove( renderTarget );
 		properties.remove( renderTarget );
 
 
 	}
 	}
@@ -832,9 +834,11 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 	// Setup storage for target texture and bind it to correct framebuffer
 	// Setup storage for target texture and bind it to correct framebuffer
 	function setupFrameBufferTexture( framebuffer, renderTarget, attachment, textureTarget ) {
 	function setupFrameBufferTexture( framebuffer, renderTarget, attachment, textureTarget ) {
 
 
-		const glFormat = utils.convert( renderTarget.texture.format );
-		const glType = utils.convert( renderTarget.texture.type );
-		const glInternalFormat = getInternalFormat( renderTarget.texture.internalFormat, glFormat, glType );
+		const texture = renderTarget.texture;
+
+		const glFormat = utils.convert( texture.format );
+		const glType = utils.convert( texture.type );
+		const glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType );
 
 
 		if ( textureTarget === _gl.TEXTURE_3D || textureTarget === _gl.TEXTURE_2D_ARRAY ) {
 		if ( textureTarget === _gl.TEXTURE_3D || textureTarget === _gl.TEXTURE_2D_ARRAY ) {
 
 
@@ -847,7 +851,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 		}
 		}
 
 
 		_gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer );
 		_gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer );
-		_gl.framebufferTexture2D( _gl.FRAMEBUFFER, attachment, textureTarget, properties.get( renderTarget.texture ).__webglTexture, 0 );
+		_gl.framebufferTexture2D( _gl.FRAMEBUFFER, attachment, textureTarget, properties.get( texture ).__webglTexture, 0 );
 		_gl.bindFramebuffer( _gl.FRAMEBUFFER, null );
 		_gl.bindFramebuffer( _gl.FRAMEBUFFER, null );
 
 
 	}
 	}
@@ -910,9 +914,11 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 
 
 		} else {
 		} else {
 
 
-			const glFormat = utils.convert( renderTarget.texture.format );
-			const glType = utils.convert( renderTarget.texture.type );
-			const glInternalFormat = getInternalFormat( renderTarget.texture.internalFormat, glFormat, glType );
+			const texture = renderTarget.texture;
+
+			const glFormat = utils.convert( texture.format );
+			const glType = utils.convert( texture.type );
+			const glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType );
 
 
 			if ( isMultisample ) {
 			if ( isMultisample ) {
 
 
@@ -1171,6 +1177,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
 	function updateRenderTargetMipmap( renderTarget ) {
 	function updateRenderTargetMipmap( renderTarget ) {
 
 
 		const texture = renderTarget.texture;
 		const texture = renderTarget.texture;
+
 		const supportsMips = isPowerOfTwo( renderTarget ) || isWebGL2;
 		const supportsMips = isPowerOfTwo( renderTarget ) || isWebGL2;
 
 
 		if ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) {
 		if ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) {