You can see how the best we can do with the standard transparency blending (the Opacity Overlay) has the effect of “evening” out the texture of the paper. We lose a lot of the contrast information as everything fights to be a little bit orange and a little bit paper.
Check out the Linear Burn, on the other hand. When we apply that guy, we keep that contrast but do so in an orange kind of way and the result is much more vibrant and a much better texture.
There are tons of applications to UI, but a semi-geeky one is that this “dimming” effect of regular blending makes it much more difficult to create generic designs that can be colored or manipulated at runtime. Here’s a concrete example: you’ve probably created a template for a button in the past that uses a gradient to produce some depth on the buttons’ surface. You might do that with a partially transparent white-to-black gradient on top of the button’s background to produce something like this:
Not bad, but look how dim our vibrant green became. If the consumer of that button set the background to be a very bright green and ended up with this, he might be disappointed. (By the way, you would probably work around that by not including any white in your gradient. Now you would have more vibrant albeit relatively dark button, but at least you could keep the original color).
Much nicer, right? Linear Burn is a good one for something like this but theoretically the sky is the limit.
And that’s where multi-input shaders come into play. With more than one input into the shader, you could combine the gradient and green to produce this or any other smart combination that you could think of. You just do some math to say how the pixels combine. Forget 25 blend modes Photoshop or Flash, WPF just gave us infiniti (that was for you Scott Barnes). That’s essentially what Greg did in his post. Great job WPF team.
So here’s the thing. The math for blend modes is pretty straightforward. It’s probably just a weekend for someone to start building some of these for us. So, any takers? Oh, and Silverlight…we’re watching you.