[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