diff --git a/source/blender/compositor/realtime_compositor/shaders/library/gpu_shader_compositor_hue_correct.glsl b/source/blender/compositor/realtime_compositor/shaders/library/gpu_shader_compositor_hue_correct.glsl index 99eb125cdf2..1535dc615f0 100644 --- a/source/blender/compositor/realtime_compositor/shaders/library/gpu_shader_compositor_hue_correct.glsl +++ b/source/blender/compositor/realtime_compositor/shaders/library/gpu_shader_compositor_hue_correct.glsl @@ -34,6 +34,7 @@ void node_composite_hue_correct(float factor, hsv.y = clamp(hsv.y, 0.0, 1.0); hsv_to_rgb(hsv, result); + result.rgb = max(result.rgb, vec3(0.0)); result = mix(color, result, factor); } diff --git a/source/blender/compositor/realtime_compositor/shaders/library/gpu_shader_compositor_hue_saturation_value.glsl b/source/blender/compositor/realtime_compositor/shaders/library/gpu_shader_compositor_hue_saturation_value.glsl index dd5eb33d318..0e1cb28e144 100644 --- a/source/blender/compositor/realtime_compositor/shaders/library/gpu_shader_compositor_hue_saturation_value.glsl +++ b/source/blender/compositor/realtime_compositor/shaders/library/gpu_shader_compositor_hue_saturation_value.glsl @@ -7,10 +7,11 @@ void node_composite_hue_saturation_value( rgb_to_hsv(color, hsv); hsv.x = fract(hsv.x + hue + 0.5); - hsv.y = clamp(hsv.y * saturation, 0.0, 1.0); + hsv.y = hsv.y * saturation; hsv.z = hsv.z * value; hsv_to_rgb(hsv, result); + result.rgb = max(result.rgb, vec3(0.0)); result = mix(color, result, factor); }