Umbrella effect in FSX with DX10

jpmouse

Charter Member
Does anyone know where I can find the solution to the "umbrella effect" when raining in FSX that makes the rain appear to form a line when on the ground? I like to use DX10 but the effect is very unrealistic. Thanks
 
Thanks!

Tried the link you provided, followed the instructions, and Oh Joy, the rain looks as it should in DX10. Thanks Roger and Naismith. I appreciate the both of you very much.

Thanks
 
Rain Umbrella fix

For anyone who is trying to get rid of the Rain Umbrella effect that appears when operating FSX in DX10 mode. Here it is:

.............................................................................

1.
Edit a file named Rain40.fx with this content:
//------------------------------------------------------------------------------
// Copyright © Microsoft Corporation. All Rights Reserved.
//------------------------------------------------------------------------------

#include "Rain40.fxh"
struct VS_INPUT
{
float4 vPosition : POSITION;
float4 cColor : COLOR0;
float2 TexCoord : TEXCOORD;
};

struct VS_OUTPUT
{
float4 vPosition : SV_POSITION;
float4 cDiffuse : COLOR;
float2 TexCoord0 : TEXCOORD0;
float2 TexCoord1 : TEXCOORD1;
};

VS_OUTPUT VS(const VS_INPUT In)
{
VS_OUTPUT Out = (VS_OUTPUT) 0;
Out.vPosition = mul(In.vPosition, g_mWorldViewProjection);
Out.cDiffuse = In.cColor;
Out.TexCoord0 = mul(In.TexCoord, g_mTextureTransforms[0]);
Out.TexCoord1 = mul(In.TexCoord, g_mTextureTransforms[1]);
Out.TexCoord0 += g_mTextureTransforms[0][2];
Out.TexCoord1 += g_mTextureTransforms[1][2];
return Out;
}

float4 PS(const VS_OUTPUT In): SV_TARGET
{
float4 cColor0 = txTexture0.Sample(samSampler, In.TexCoord0);
float4 cColor1 = txTexture1.Sample(samSampler, In.TexCoord1);
return float4(0.5,0.5,0.5,In.cDiffuse.w) * (cColor0 + cColor1);
}

DepthStencilState EnableDepth
{
DepthEnable = TRUE;
DepthWriteMask = ALL;
DepthFunc = LESS_EQUAL;
};

DepthStencilState DisableDepth
{
DepthEnable = FALSE;
DepthWriteMask = ZERO;
};

technique10 T0
{
pass P0
{
SetVertexShader(CompileShader(vs_4_0, VS()));
SetGeometryShader(NULL);
SetPixelShader(CompileShader(ps_4_0, PS()));
SetDepthStencilState( DisableDepth, 0 );
}
}


2.
Goto Directory Microsoft Flight Simulator X\ShadersHLSL\misc

3.
Backup old Rain40.fx

4.
Copy your new file

5.
Goto Users\<Your Name Here>\AppData\Local\Microsoft\FSX\Shaders10\Shader sHLSL\misc

6.
Delete this file:
Rain40.fx_0x4700000000000000_0x0f

7.
Run FSX in DX10 mode. It will recompile and replace the shader code with the new fixed code
 
Back
Top