Creating DirectX Interop Libraries for XAML Metro Style Apps – Part 1: Direct2D

The XAML-based UI stack for Metro Style Apps is quite rich for the youngest member of the XAML UI frameworks family, but sometimes the basic controls even with their rich APIs are not enough. That is where the most powerful point of extensibility of the XAML UI comes in – the DirectX integration.

With DirectX you can create the highest quality real time Direct3D graphics, high performance Direct2D drawings, apply stunning looking pixel shader effects, read and write images of many different formats with WIC, play back video with the Media Framework and high quality audio with XAudio2. You can do all these things in a XAML-based app, so you can use all the rich UI APIs of the XAML framework to quickly create a beautiful looking application and add some special DirectX touch that will make it unique.

In this article I will show you how to create a libraries for drawing Direct2D or Direct3D scenes in the background of an otherwise XAML-rendered UI.

Continue reading

Posted in Uncategorized | Leave a comment

WinRT XAML Toolkit is Growing

Updated WinRT XAML Toolkit on CodePlex – a set of controls, extensions and helper classes for Windows Runtime XAML applications

Features

Continue reading

Posted in Computers and Internet | Tagged , , , , , , | 1 Comment

XAML Spy

A while back I blogged about Debugging visual tree/layout issues in Silverlight and on Windows Phone. My little helper library – the VisualTreeDebugger has been updated for WinRT and is available as part of the WinRT XAML Toolkit project that I have been working on recently. I also mentioned that you could use Silverlight Spy to debug your Windows Phone app, but it was not free. Well, now it seems like Koen Zwikstra has come up with a new version that, for a limited time, is free and it is called XAML Spy. Grab it while you can!

Posted in Computers and Internet | Tagged | Leave a comment

Microsoft Dev Camps – Free Events

Got this E-Mail. Looks like an interesting addition to the Windows 8 Developer Camps I mentioned earlier.

Posted in Computers and Internet | Tagged , | Leave a comment

WinRT XAML Toolkit

There it is. No time to write about it or make it pretty, but you forced me to publish it, CodePlex, so there it is….

http://bit.ly/WinRTXamlToolkit

Posted in Computers and Internet | Tagged , , | Leave a comment

Impressions of Windows 8 Part 2 of 2

This is the second part of my impressions of Windows 8. You can read the previous part here.

Continue reading

Posted in Computers and Internet | Tagged , , , , , , , , | Leave a comment

Impressions of Windows 8 Part 1 of 2

I have been using the Windows 8 Preview For six months now – the Developer Preview since its public release in September and more recently, the Consumer Preview that was made available in February.

I have used Windows 8 on a tablet, a touch screen laptop and an old desktop and the experience has been good on all of these platforms. I have used it for anything from developing Windows 8 Metro style apps, through typical Office applications scenarios, browsing the internet, playing games, listening to Spotify, instant messaging etc. What I have not used it much for actually is to run Metro style apps, except for the ones I was developing myself, since there are not so many available yet (around 100) and the ones available do not fit into my daily use of a tablet or computer.

I have been using most versions of Windows available in the past 20 years or so. I have also been using an iPad for a few months now. I think Windows 8 is going to be huge…

Continue reading

Posted in Computers and Internet | Tagged , , , , , , , , | Leave a comment

WinRT/Metro Style App Data

I was trying to find out where the WinRT apps files are stored and found 3 locations. Not sure how much benefit would be in digging deeper, but this could help in debugging your or reverse engineering someone else’s applications…

Continue reading

Posted in Computers and Internet, Uncategorized | Tagged , | Leave a comment

Windows Developer Camp – March-June 2012, USA, Multiple locations

I found multiple (21) free full day training sessions for Windows 8 developers – here.

Posted in Uncategorized | 1 Comment

A path from C/C++ to C# and back to C++

About ten years ago I started my first full time programming job. I was working on some business software written in C/C++. I say C/C++ instead of just C++ because it was written mostly in C with classes – with perhaps a few cases of inheritance or actually even only few classes – it used structs in many places to group some methods together the same way you would use classes today. The code was fairly complicated and it was just aging. The standard C libraries it used were not very rich, so if you wanted to code up something fairly straightforward – you had to dig through a lot of documentation looking for something basic only to end up implementing that list class yourself. We were using a Watcom compiler at that time and trying out Borland C++ Builder for some side projects showed it was a great improvement in that VCL provided a lot of great wrapper classes for Windows APIs making things easier. Two years later we were looking into rewriting our application or at least starting a new version and considering which tools to use – basically trying to choose between Borland C++ and C#. I was on the C++ side – it was a fairly known language, more predictable and providing intuitively higher performance, while C# was at version 1.1 and had lots of great libraries, but a bit foreign and why would anyone want to go away from the fun of using pointers, managing object lifetimes and relying on some garbage (collector)? Well, I lost – Microsoft seemed to be focusing on supporting C# and in the end it turned out to be a lot more productive than C++.

Fast forward 8 years and Microsoft says – in Windows 8 you can code using C#/VB, JavaScript or C++. Well, the word on the street is that it is so that programmers fluent in any of these languages will be able to code applications for Windows, so I guess I will stick with C#. Maybe I will look at HTML5, JS and CSS, since these seem to be getting most traction, I thought. Now, having found some limitations in the .NET/WinRT stack I have a feeling like the C++/DirectX route is the most attractive. The .NET stack might make you more productive than the JS or C++ – especially if you have been coding in C# for the last eight years and perhaps HTML5 has better graphics performance or some other interesting features, but it feels like learning C++/DirectX on top of C#/WinRT is what would allow me to cover most scenarios for writing Metro Style Apps™, so especially with some experience working on the test team for the DirectX wrappers in the Windows API Code Pack – I am hoping to have an easier start in diversifying my skills.

Continue reading

Posted in Computers and Internet, Uncategorized | Tagged , , , , , , | 5 Comments