[Bf-blender-cvs] [190fd795a92] master: Overlay: Fix overlays being washed out by render colors

Clément Foucault noreply at git.blender.org
Tue Feb 25 13:58:42 CET 2020


Commit: 190fd795a9245ee6a45d8feacc4c790b68d8232b
Author: Clément Foucault
Date:   Tue Feb 25 13:58:28 2020 +0100
Branches: master
https://developer.blender.org/rB190fd795a9245ee6a45d8feacc4c790b68d8232b

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.

===================================================================

M	intern/opencolorio/gpu_shader_display_transform.glsl
M	source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl

===================================================================

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;



More information about the Bf-blender-cvs mailing list