diff --git a/libobs/data/bicubic_scale.effect b/libobs/data/bicubic_scale.effect index 06bcea714..90216086e 100644 --- a/libobs/data/bicubic_scale.effect +++ b/libobs/data/bicubic_scale.effect @@ -166,9 +166,8 @@ float4 PSDrawBicubicRGBAMultiplyTonemap(FragData f_in, bool undistort) : TARGET float4 PSDrawBicubicRGBADivide(FragData f_in) : TARGET { float4 rgba = DrawBicubic(f_in, false); - float alpha = rgba.a; - float multiplier = (alpha > 0.0) ? (1.0 / alpha) : 0.0; - return float4(rgba.rgb * multiplier, alpha); + rgba.rgb *= max(1. / rgba.a, 0.); + return rgba; } technique Draw diff --git a/libobs/data/default.effect b/libobs/data/default.effect index b3d0bc94a..8c8eadbb6 100644 --- a/libobs/data/default.effect +++ b/libobs/data/default.effect @@ -31,9 +31,8 @@ float4 PSDrawBare(VertInOut vert_in) : TARGET float4 PSDrawAlphaDivide(VertInOut vert_in) : TARGET { float4 rgba = image.Sample(def_sampler, vert_in.uv); - float alpha = rgba.a; - float multiplier = (alpha > 0.0) ? (1.0 / alpha) : 0.0; - return float4(rgba.rgb * multiplier, alpha); + rgba.rgb *= max(1. / rgba.a, 0.); + return rgba; } float4 PSDrawNonlinearAlpha(VertInOut vert_in) : TARGET diff --git a/libobs/data/lanczos_scale.effect b/libobs/data/lanczos_scale.effect index f31021c22..5dc8d71a8 100644 --- a/libobs/data/lanczos_scale.effect +++ b/libobs/data/lanczos_scale.effect @@ -222,9 +222,8 @@ float4 PSDrawLanczosRGBAMultiplyTonemap(FragData f_in, bool undistort) : TARGET float4 PSDrawLanczosRGBADivide(FragData f_in) : TARGET { float4 rgba = DrawLanczos(f_in, false); - float alpha = rgba.a; - float multiplier = (alpha > 0.0) ? (1.0 / alpha) : 0.0; - return float4(rgba.rgb * multiplier, alpha); + rgba.rgb *= max(1. / rgba.a, 0.); + return rgba; } technique Draw