Browse Source

WebGLRenderer: set material.needsUpdate true when scene.environment changes.

Mr.doob 5 years ago
parent
commit
087546d2f6
1 changed files with 5 additions and 0 deletions
  1. 5 0
      src/renderers/WebGLRenderer.js

+ 5 - 0
src/renderers/WebGLRenderer.js

@@ -1566,6 +1566,7 @@ function WebGLRenderer( parameters ) {
 			program = programCache.acquireProgram( material, materialProperties.shader, parameters, programCacheKey );
 
 			materialProperties.program = program;
+			materialProperties.environment = material.isMeshStandardMaterial ? scene.environment : null;
 			materialProperties.outputEncoding = _this.outputEncoding;
 			material.program = program;
 
@@ -1693,6 +1694,10 @@ function WebGLRenderer( parameters ) {
 
 				material.needsUpdate = true;
 
+			} else if ( materialProperties.environment !== environment ) {
+
+				material.needsUpdate = true;
+
 			} else if ( materialProperties.needsLights && ( materialProperties.lightsStateVersion !== lights.state.version ) ) {
 
 				material.needsUpdate = true;