A More Useful Multi-Input Effect

In my last post, I introduced multi-input effects, where you can send in arbitrary WPF brushes that are interpreted as samplers in the shader.  The example I did just showed simple image combination via linear combination of pixel values — illustrative, but not very useful. In this post, I’m going to demonstrate a more useful…


Introducing Multi-Input Shader Effects

Thus far in this series on Effects, we’ve discussed building and using Effects that have a single “texture” or “sampler” as input to them.  In the Beta of .NET 3.5 SP1, that’s all that was available.  With the RTM release, we’ve added the ability to provide multiple samplers as input to the pixel shaders that…


A VisualStudio BuildTask and project and item templates for writing ShaderEffects

In a number of places in this series on Effects, I’ve alluded to a VisualStudio BuildTask and project templates that ease the authoring of shader-based Effects.  We now have one up and available for you to download, install, and use.  This was written by Gerhard Schneider and me.  (Gerhard is the development lead who’s team…


.NET Framework 3.5SP1 and Visual Studio 2008 SP1 released!

Alright!  .NET 3.5 SP1 and VS 2008 SP1 are live and available on the web today.  There are lots of places to read about all the great stuff there, but from the perspective of this blog, the two big additions over the Beta of .NET 3.5 SP1 are: Support for multiple texture inputs to shaders…


Interested in working on the WPF team?

As you can see from this and other blogs, there’s lots of exciting stuff going on in WPF these days, and we’re hiring!  Ivo Manolov, our Test Manager has a post about job openings in Quality Assurance for WPF, including a posting for a Test Architect.  Also, here’s a site that contains job listings for…


A simple Effect sample project and ClickOnce application

The previous post in this series began to talk about writing custom Effects for WPF.  We looked specifically at ColorComplementEffect, an effect with no parameters.  In upcoming posts, we’ll get into the details of multi-parameter effects and other specifics.  But in the meantime, I thought it would be useful to post a sample VS project…


Writing custom GPU-based Effects for WPF

The last few posts in this series on Effects have focused on the perspective of those using Effects.  These Effects have to come into being somehow, and that’s where we turn to now.  In this post we showed how to apply a ColorComplementEffect to go from this to this:   ColorComplementEffect, which very much looks…


More details on how Effects work

The last couple posts in this series have dug into features and example usage of Effects in WPF. Let’s go into some other aspects of the feature that are important to understand. Software Rendering When we discuss Effects, we typically talk about them being GPU-accelerated. This is typically the case. However, there are three important…


Using Effects in WPF (Part 2)

My previous post on Effects (part of this series) gives a simple example of instantiating an parameterless Effect (it just takes the complement of a color) through XAML. Here we discuss more about the use of Effects. First, lest you think that Effects are somehow a XAML-only feature, let’s write some code to use Effects….


GPU-accelerated custom effects for WPF

With WPF 3.5 SP1 on the horizon (and the Beta available now), I plan to discuss some of the new graphics features that are coming into WPF in this release. There are a number of great new additions as well as improvements on existing features, but I will say that the one that I’m the…