diff --git a/sdk/src/backends/dx12/FrameInterpolationSwapchain/FrameInterpolationSwapchainUiComposition.hlsl b/sdk/src/backends/dx12/FrameInterpolationSwapchain/FrameInterpolationSwapchainUiComposition.hlsl index f84842fc..bfd7166e 100644 --- a/sdk/src/backends/dx12/FrameInterpolationSwapchain/FrameInterpolationSwapchainUiComposition.hlsl +++ b/sdk/src/backends/dx12/FrameInterpolationSwapchain/FrameInterpolationSwapchainUiComposition.hlsl @@ -33,5 +33,6 @@ float4 mainPS(float4 vPosition : SV_POSITION) : SV_Target float3 color = r_currBB[vPosition.xy].rgb; float4 guiColor = r_uiTexture[vPosition.xy]; - return float4(lerp(color, guiColor.rgb, guiColor.a), 1); + // Pre-multiplied alpha formula + return float4(guiColor.rgb + (color * (1.f - guiColor.a)), 1); }