Quote: "On the one hand it does not do what I'm looking for."
I'm not surprised.
I wondered earlier why you included the final multiplication:
I didn't call "FinalColor" that by mistake you know.
Try the following instead of your code:
float4 BaseMap = tex2D( BaseSampler ,IN.UV0);
float4 FinalColor = lerp(cloudscolor,BaseMap,0.5);
return FinalColor;
or even
float4 BaseMap = tex2D( BaseSampler ,IN.UV0);
return lerp(cloudscolor, BaseMap, 0.5);
Of course, you still need to replace "0.5" by the brightness variable
calculated per pixel (your screenshot suggests you used the same value of brightness throughout the image).
Quote: "On the one hand it does not do what I'm looking for. On the other hand it does another very very cool effect where the higher the intensity (or brigtness as u called it earlier) the lesser the saturation of the texture."
That's one of the joys of playing with shaders.
Here's the final code I had in mind including the brightness calculation (you'll have to check consistency of letter case and spelling etc)
float4 baseMap = tex2D(BaseSampler, In.UV0);
float brightness = dot(baseMap.rgb, 0.333333333.xxx);
float4 finalColor = lerp(baseMap * cloudscolor, baseMap, brightness);
return finalColor;
I expect at least one question from that snippet.