Currently the LensParameters has 4 components, x=reflection intensity, y=reflection power, z=dirt intensity, w=dirt power, which are controlled by enbseries.ini. In order to pass weather parameters, the additional weather info need to encode to the floats, and since lens reflection and dirt effect don't necessary require high precision in my experience, I just utilize decimal parts( < 1.0 ).
int is for original lens parameter
0.0~0.9 is rain parameter
0.00~0.09 is fog parameter
float orginalpara = floor(input);
float weatherTemp = frac(input); //utilize 0.1, 0.01, 0.001
float3 weatherpara = float3( floor( 10 * frac(weatherTemp)), floor( 10 * frac(weatherTemp * 10)), floor( 10 * frac(weatherTemp * 100)));
// x = 0.1, y = 0.01, z = 0.001
in this case, float4 LensParameter can save 12 weather info, it can also use BloomParameters instead in bloom.fx.
So for the raindrop effect, .0 is off, .1 ~ .9 is frequency parameter which can set according to the magnitude of rain.
Intel Xeon L5639 6C12T @3.96GHz // Gigabyte ga-x58a-ud3r// MSI GTX680 4G// 24G RAMFlickrYouTube