Check out this Mix Session for all the skinny on the enhancements coming in the WPF 3.5 “Extensions” later this year. Unfortunately the Mix sessions site is designed quite poorly in terms of being able to provide direct links, but if you just go to there and look for session T11 – “What’s New in Windows Presentation Foundation 3.5”, that’s the one that shows off all the goodies.
Rob shows off new work on the virtualization front, Microsoft’s prototype DataGrid control, performance enhancements and so on. The topic I was waiting to hear about most however was the new Effects API which we finally get our first in depth look at with this session. If you jump to about the 45 minute mark you can get right into it.
First I must say the Effects demo was very impressive. He basically combined 6 different effects on a live 3D object with physics and video playing and it worked flawlessly. In this demo we finally got to see the code that drives that demo and I must say I am supremely disappointed with how quickly he blew through it and how little detail was given. I’m also very disappointed with the implementation. First off, the code was pure shader code in .fx files. A far cry from the beautiful LINQ implementation I had envisioned and no where even close to the Microsoft Research Accelerator project that at least seemed to do it through inheritance and reflection. Upset as I may be with the implementation, I am just glad we finally have some way of actually accessing the GPU for effects.
The next thing I was looking forward to is the WriteableBitmap API. It’s not something I personally need, but I know a lot of people do. WriteableBitmap basically gives you GDI+ like pixel based bitmap graphics. Those graphics however are still fully integrated nicely into the rest of the WPF graphics stack, so you can paint on a 3D surface for example. It does look however like the WriteableBitmap API requires some unsafe code. How much and whether it’s usable at all in a partial trust scenario as a result wasn’t clear.