Disable Mud, Dirt, Water FX On Screen

154pages on
this wiki
Add New Page
Talk0 Share

The mud, dirt & water effects that splatter your screen / view are supposed to enhance the "reality" of the situation. However, what they usually do is just block and blur up the view. Here's how to disable them to get a clean view:

  • Go to
    • (Steam Version): <Steam install>\steamapps\common\fuel\shaders
    • (Retail Version) (HD): \Program Files\Codemasters\FUEL\shaders
  • Make a copy of the sfx.phl file, and rename the original to whatever helps you identify it as the original (eg: sfx.phl.ORIG)
  • Right-click on your copy, and "Open" with a text editor (eg: Notepad)
  • Find the code below in your file (it's the first 3 functions):

float4 ph_screenwater (in VS_SfxWaterOut i) : COLOR
    float seuil = 1.f - i.diffuse.a;
    float Bump = 1.f;
    half alphaNormal = 1;
#ifdef bNormal
    half3x3 mTexSpace;
    mTexSpace[0] = half3(;
    mTexSpace[1] = half3(;
    mTexSpace[2] = half3(;

    #ifdef bCompression
        half3    tOrgNormal = h4tex2D( sNormal, i.uv).wyz*2 - 1;
        alphaNormal = h4tex2D( sNormal, i.uv).z;
        half4    tOrgNormal = h4tex2D( sNormal, i.uv); =*2 - 1;

    half3    normal = mul(, mTexSpace);
            normal = Bump*normalize(normal);
    half3 normal = float3(0,0,1);
//return float4(,1);

    float diffa = alphaNormal;//tex2D(sDiffuse,i.uv).r;
    if (diffa < seuil) diffa = 0;
    else diffa = 1;
    // Refraction
    float2 uvscreen = i.uvscreen.xy * 0.5 + 0.5;
    uvscreen.y = 1-uvscreen.y;
    uvscreen += normal.xy * 0.25f * diffa;

    float4 refraction = tex2D( sRenderTarget, uvscreen );
    refraction.rgb = UnpackHDRSample( refraction );
    float d  = dot(normal, float3(0,-1,0));
    float lightingImportance = 0.1;
    refraction.rgb*= saturate((1-lightingImportance) + lightingImportance * d);

    return PackHDRSample( refraction.rgb, diffa);//color.r*i.diffuse.a);
float4 ph_screendirt (in VS_SfxOut i) : COLOR
    float4    color=tex2D(sDiffuse,float2(i.uv.x, i.uv.y)).rgba;
    float3 diff =;
    diff *= i.diffuse.rgb;
    float alphaVal;
    if (i.diffuse.a <= 1)
        alphaVal = lerp(0, color.r, i.diffuse.a );
        alphaVal = lerp(color.r, color.g, i.diffuse.a-1 );
    return PackHDRSample( diff, alphaVal);
float4 ph_screenmud (in VS_SfxOut i) : COLOR
    float4    color=i.diffuse.rgba*tex2D(sDiffuse,i.uv).rgba;
    return PackHDRSample( color.rgb, color.a);

  • Overwrite / Replace them with the following:

float4 ph_screenwater (in VS_SfxWaterOut i) : COLOR
	return 0;

float4 ph_screendirt (in VS_SfxOut i) : COLOR
	return 0;

float4 ph_screenmud (in VS_SfxOut i) : COLOR
	return 0;

  • Save the file
  • Rename it to sfx.phl

No more mud or water slung on your screen, and the screen border will no longer cake in dirt. You will still have a vignette (black fading) around the borders. So far, there is no way to get rid of that. (The "fx.phl" file has code for vignetting, but it doesn't do anything.) Also, during "storm" races (tornado, dust storm, etc), the screen will still auto-cake in a dirt border. Not sure how to prevent that yet.

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.