Browse Source

Merge pull request #19129 from sciecode/dev-properties-encoding

WebGLRenderer: Save correct encoding after rendering to render target
Mr.doob 5 years ago
parent
commit
d5894a3146
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/renderers/WebGLRenderer.js

+ 3 - 2
src/renderers/WebGLRenderer.js

@@ -1516,7 +1516,7 @@ function WebGLRenderer( parameters ) {
 
 			materialProperties.program = program;
 			materialProperties.uniforms = parameters.uniforms;
-			materialProperties.outputEncoding = _this.outputEncoding;
+			materialProperties.outputEncoding = parameters.outputEncoding;
 			material.program = program;
 
 		}
@@ -1614,6 +1614,7 @@ function WebGLRenderer( parameters ) {
 
 		var fog = scene.fog;
 		var environment = material.isMeshStandardMaterial ? scene.environment : null;
+		var encoding = ( _currentRenderTarget === null ) ? _this.outputEncoding : _currentRenderTarget.texture.encoding;
 
 		var materialProperties = properties.get( material );
 		var lights = currentRenderState.state.lights;
@@ -1661,7 +1662,7 @@ function WebGLRenderer( parameters ) {
 
 				initMaterial( material, scene, object );
 
-			} else if ( materialProperties.outputEncoding !== _this.outputEncoding ) {
+			} else if ( materialProperties.outputEncoding !== encoding ) {
 
 				initMaterial( material, scene, object );