Zitat von
WojTec:
Something similar (Lerp() coloring too much - up to solid color).
Lerp() can be used for just this. Use the original color of a pixel as first parameter, and the color of that pixel as if the effect was applied fully as second. Pass any value between 0 and 1 as third parameter, and get a linear interpolation between the original and the fully affected color. What exactly is your problem? You might also want to provide some more of your actual code alongside, and possibly some sample output too, helping to describe what the difference between the desired and the achieved effect is.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)