Browse Source

Merge pull request #11694 from tagcup/lambert_normalization

Ensure that Lambert is energy conserving.
Juan Linietsky 8 years ago
parent
commit
99a464ceb4
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/gles3/shaders/scene.glsl

+ 2 - 2
drivers/gles3/shaders/scene.glsl

@@ -932,7 +932,7 @@ LIGHT_SHADER_CODE
 		vec3 A = 1.0 + sigma2 * (- 0.5 / (sigma2 + 0.33) + 0.17*diffuse_color / (sigma2 + 0.13) );
 		float B = 0.45 * sigma2 / (sigma2 + 0.09);
 
-		light_amount = diffuse_color * dotNL * (A + vec3(B) * s / t) / M_PI;
+		light_amount = dotNL * (A + vec3(B) * s / t) / M_PI;
 	}
 
 #elif defined(DIFFUSE_TOON)
@@ -965,7 +965,7 @@ LIGHT_SHADER_CODE
 	}
 #else
 	//lambert
-	light_amount = dotNL;
+	light_amount = dotNL / M_PI;
 #endif
 
 #if defined(TRANSMISSION_USED)