Browse Source

Merge pull request #42056 from Yetizone/negative_lights_behavior

tonemap.glsl: Ensure color parameter of tonemap_reinhard() is positive
Rémi Verschelde 5 năm trước cách đây
mục cha
commit
f442dc062a
1 tập tin đã thay đổi với 4 bổ sung0 xóa
  1. 4 0
      drivers/gles3/shaders/tonemap.glsl

+ 4 - 0
drivers/gles3/shaders/tonemap.glsl

@@ -156,6 +156,10 @@ vec3 tonemap_aces(vec3 color, float white) {
 }
 
 vec3 tonemap_reinhard(vec3 color, float white) {
+	// Ensure color values are positive.
+	// They can be negative in the case of negative lights, which leads to undesired behavior.
+	color = max(vec3(0.0), color);
+
 	return clamp((white * color + color) / (color * white + white), vec3(0.0f), vec3(1.0f));
 }