Monthly Archives: February 2013

Direct2D Fundamentals – Part 2 – Now on Pluralsight!

My latest course is now available on Pluralsight!

Direct2D Fundamentals – Part 2 is so much more than Direct2D. In many ways, it’s an intense crash course in DirectX programming. You’re going to learn about Direct3D, DXGI, devices, swap chains, but it’s more than that.

This course is about developing stunning applications for Windows. You’re going to learn how to develop applications that can run cross-platform, reaching the Windows desktop, Windows Store, and Windows Phone environments. You’re going to learn about performance and efficiency. You’re going to learn how to produce high-quality animation. Moreover, you’re going to do it all in C++.

If you haven’t done so already, start by working through part 1 of Direct2D Fundamentals. This will prepare you by laying the foundation for everything you will learn in this new course.

Here’s a brief description of the modules in Direct2D Fundamentals – Part 2.

What is Direct2D 1.1? Where can it be found? Introduction to the course demo.

Common Foundation
Building the foundation, error handling, and a common set of abstractions for a cross-platform application.

Desktop Window
The reference platform, optimizing window plumbing, and resource handlers.

Understanding and creating the underlying Direct3D device, hardware and software drivers, and the Direct2D device and device context.

Swap Chain
What is DXGI? What is a swap chain? Creating and resizing a swap chain. Targeting, rendering, and presentation with Direct2D and DXGI.

The Clock
How to draw an analog clock with Direct2D primitives and transforms. Adding a background image with DPI awareness. Using image effects to add a shadow.

Revisiting the message loop. Understanding swap chain occlusion and its impact on performance. Power management and efficiency. Using the Windows Animation Manager for scheduled animation.

Windows Runtime
Understanding the CoreWindow abstraction. Optimizing with visibility and the message loop. Using DirectX in the Windows Runtime.

Windows Phone
Limitations in the Windows Phone SDK. Porting the clock application, and unleashing the phone’s awesome power with the restricted API.


Creating Desktop Apps with Visual C++ 2012

It’s been a busy few weeks and I’m just now catching up with some announcements.

My latest column for the February 2013 issue of MSDN Magazine is available online as well as in print.

With all the hype over Windows 8 and what are now known as Windows Store apps, I’ve received some questions about the relevance of desktop apps and whether Standard C++ is still a viable choice going forward. These questions are sometimes hard to answer, but what I can tell you is that the Visual C++ 2012 compiler is more committed than ever to Standard C++ and it remains the best toolchain, in my humble opinion, for building great desktop apps for Windows whether you’re targeting Windows 7, Windows 8 or even Windows XP.

You can find links to more of my articles here.