diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-02-25 15:58:28 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-02-25 15:58:28 +0300 |
commit | 190fd795a9245ee6a45d8feacc4c790b68d8232b (patch) | |
tree | 2b97c60b94e3b849613f9a01e15dce9ac798d21c | |
parent | 7bc893c8279457ef32eb4a0d4e98fe40de5afdf1 (diff) |
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.
-rw-r--r-- | intern/opencolorio/gpu_shader_display_transform.glsl | 1 | ||||
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl | 1 |
2 files changed, 2 insertions, 0 deletions
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; |