Monthly Archives: June 2013

A Modern C++ Library for DirectX Programming

My latest column for the June 2013 issue of MSDN Magazine is now available online.

I’ve written a lot of DirectX code and I’ve written about DirectX extensively. I’ve even produced online training courses on DirectX. It really isn’t as hard as some developers make it out to be. There’s definitely a learning curve, but once you get over that, it’s not hard to understand how and why DirectX works the way it does. Still, I’ll admit that the DirectX family of APIs could be easier to use.

A few nights ago, I decided to remedy this. I stayed up all night and wrote a little header file. A few nights later, it approached 5,000 lines of code. My goal was to provide something that you can use to build apps more easily with Direct2D and to challenge all of the “C++ is hard” or “DirectX is hard” arguments that are so prevalent today. I didn’t want to produce yet another heavy wrapper around DirectX. Instead, I decided to leverage C++11 to produce a simpler API for DirectX without imposing any space and time overheard to the core DirectX API. You can find this library I developed at

Check out my latest courses on Pluralsight for a crash course on COM, DirectX, and Direct2D!

You can find links to more of my articles here.