diff --git a/package/Shaders/ISWaterBlend.hlsl b/package/Shaders/ISWaterBlend.hlsl index 056df78264..192894a73b 100644 --- a/package/Shaders/ISWaterBlend.hlsl +++ b/package/Shaders/ISWaterBlend.hlsl @@ -18,7 +18,7 @@ SamplerState depthBufferSampler : register(s3); SamplerState waterMaskSampler : register(s4); Texture2D sourceTex : register(t0); -Texture2D waterHistoryTex : register(t1); +Texture2D waterHistoryTex : register(t1); Texture2D motionBufferTex : register(t2); Texture2D depthBufferTex : register(t3); Texture2D waterMaskTex : register(t4); @@ -46,12 +46,13 @@ PS_OUTPUT main(PS_INPUT input) float3 waterHistory = waterHistoryTex.Sample(waterHistorySampler, motionAdjustedScreenPosition).xyz; + float historyMask = waterMaskTex.Sample(waterMaskSampler, motionAdjustedScreenPosition).z; float3 finalColor = sourceColor; if ( # ifndef VR motionScreenPosition.x >= 0 && motionScreenPosition.y >= 0 && motionScreenPosition.x <= 1 && # endif - motionScreenPosition.y <= 1 && any(waterHistory)) { + motionScreenPosition.y <= 1 && historyMask > 0.999) { float historyFactor = 0.95; if (NearFar_Menu_DistanceFactor.z == 0) { float depth = depthBufferTex.Sample(depthBufferSampler, adjustedScreenPosition).x;