diff --git a/src/renderers/WebGLMultipleRenderTargets.js b/src/renderers/WebGLMultipleRenderTargets.js index 9c370bd36da6c0ca1c805e081be04ba667ac0abb..a5fb5a176b53c8dd265d210b26116596dcfc9c36 100644 --- a/src/renderers/WebGLMultipleRenderTargets.js +++ b/src/renderers/WebGLMultipleRenderTargets.js @@ -13,6 +13,7 @@ class WebGLMultipleRenderTargets extends WebGLRenderTarget { for ( let i = 0; i < count; i ++ ) { this.texture[ i ] = texture.clone(); + this.texture[ i ].isRenderTargetTexture = true; } diff --git a/src/renderers/webgl/WebGLTextures.js b/src/renderers/webgl/WebGLTextures.js index 9404373bd8c93e0c8369e538cf972c29537f0e73..5154f05b306e4b290aefa0aba7a0e27ff8bde7db 100644 --- a/src/renderers/webgl/WebGLTextures.js +++ b/src/renderers/webgl/WebGLTextures.js @@ -426,7 +426,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils, if ( texture.isVideoTexture ) updateVideoTexture( texture ); - if ( texture.version > 0 && textureProperties.__version !== texture.version ) { + if ( texture.isRenderTargetTexture === false && texture.version > 0 && textureProperties.__version !== texture.version ) { const image = texture.image; diff --git a/src/textures/Texture.js b/src/textures/Texture.js index e4286437ef7cdb5df0a8cb4c6d6cdc63dbbf1be8..b03e055b69a65df5ae2ebdaba0898c263c2e91f5 100644 --- a/src/textures/Texture.js +++ b/src/textures/Texture.js @@ -136,6 +136,8 @@ class Texture extends EventDispatcher { this.userData = JSON.parse( JSON.stringify( source.userData ) ); + this.needsUpdate = true; + return this; }