tonemap.glsl: Ensure color parameter of tonemap_reinhard() is positive

Color values can become negative in the case of negative lights which
leads to undesired behaviour.
This commit is contained in:
Yetizone 2020-09-14 17:13:00 +03:00
parent 738f6ea221
commit e6a860deb6

View file

@ -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));
}