From 190fd795a9245ee6a45d8feacc4c790b68d8232b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Tue, 25 Feb 2020 13:58:28 +0100 Subject: Overlay: Fix overlays being washed out by render colors Clamping here might be a bit too much if output is expected to be HDR. But we don't support HDR atm so clamping is fine. --- intern/opencolorio/gpu_shader_display_transform.glsl | 1 + source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl | 1 + 2 files changed, 2 insertions(+) diff --git a/intern/opencolorio/gpu_shader_display_transform.glsl b/intern/opencolorio/gpu_shader_display_transform.glsl index f7c64244dd6..61da755f02f 100644 --- a/intern/opencolorio/gpu_shader_display_transform.glsl +++ b/intern/opencolorio/gpu_shader_display_transform.glsl @@ -163,6 +163,7 @@ vec4 OCIO_ProcessColor(vec4 col, vec4 col_overlay, vec2 noise_uv) col = OCIO_to_display_linear_with_look(col, lut3d_texture); if (overlay) { + col = clamp(col, 0.0, 1.0); col *= 1.0 - col_overlay.a; col += col_overlay; /* Assumed unassociated alpha. */ } diff --git a/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl index e8323520af5..73f40c693ae 100644 --- a/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl @@ -33,6 +33,7 @@ void main() vec4 overlay_col = texture(overlays_texture, texCoord_interp.st); + fragColor = clamp(fragColor, 0.0, 1.0); fragColor *= 1.0 - overlay_col.a; fragColor += overlay_col; -- cgit v1.2.3