diff --git a/features/Water Effects/Shaders/WaterEffects/WaterCaustics.hlsli b/features/Water Effects/Shaders/WaterEffects/WaterCaustics.hlsli index caa6b41bf9..15e889f927 100644 --- a/features/Water Effects/Shaders/WaterEffects/WaterCaustics.hlsli +++ b/features/Water Effects/Shaders/WaterEffects/WaterCaustics.hlsli @@ -38,8 +38,9 @@ namespace WaterEffects float2 causticsUV1 = PanCausticsUV(causticsUV, 0.5 * 0.2, 1.0); float2 causticsUV2 = PanCausticsUV(causticsUV, 1.0 * 0.2, -0.5); - const float3 causticsHigh = - (causticsFade > 0.0) ? (min(SampleCausticsDispersion(causticsUV1, dispersionOffset), SampleCausticsDispersion(causticsUV2, dispersionOffset)) * 4.0) : 1.0.xxx; + float3 causticsHigh = 1.0.xxx; + if (causticsFade > 0.0) + causticsHigh = min(SampleCausticsDispersion(causticsUV1, dispersionOffset), SampleCausticsDispersion(causticsUV2, dispersionOffset)) * 4.0; causticsUV *= 0.5; dispersionOffset *= 0.5; @@ -47,10 +48,11 @@ namespace WaterEffects causticsUV1 = PanCausticsUV(causticsUV, 0.5 * 0.1, 1.0); causticsUV2 = PanCausticsUV(causticsUV, 1.0 * 0.1, -0.5); - const float3 causticsLow = - (causticsFade < 1.0) ? (min(SampleCausticsDispersion(causticsUV1, dispersionOffset), SampleCausticsDispersion(causticsUV2, dispersionOffset)) * 4.0) : 1.0.xxx; + float3 causticsLow = 1.0.xxx; + if (causticsFade < 1.0) + causticsLow = min(SampleCausticsDispersion(causticsUV1, dispersionOffset), SampleCausticsDispersion(causticsUV2, dispersionOffset)) * 4.0; - const float3 caustics = lerp(causticsLow, causticsHigh, causticsFade); + float3 caustics = lerp(causticsLow, causticsHigh, causticsFade); return lerp(1.0.xxx, caustics, shoreFactorCaustics); }