diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index ec9c1417a7173..9cdcbc2e795fb 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -1875,12 +1875,6 @@ function WebGLRenderer( parameters ) { WebGLUniforms.upload( _gl, materialProperties.uniformsList, m_uniforms, textures ); - if ( material.isShaderMaterial ) { - - material.uniformsNeedUpdate = false; // #15581 - - } - } if ( material.isShaderMaterial && material.uniformsNeedUpdate === true ) { diff --git a/src/renderers/webgl/WebGLMaterials.js b/src/renderers/webgl/WebGLMaterials.js index a3a327448915c..1a64c1bff3264 100644 --- a/src/renderers/webgl/WebGLMaterials.js +++ b/src/renderers/webgl/WebGLMaterials.js @@ -101,6 +101,10 @@ function WebGLMaterials( properties ) { uniforms.color.value.copy( material.color ); uniforms.opacity.value = material.opacity; + } else if ( material.isShaderMaterial ) { + + material.uniformsNeedUpdate = false; // #15581 + } }