DirectX/C++ 3D Engine programming: Learn now, or wait for DirectX 12? [closed]

Think of DX12 as “DirectX without training wheels, without brakes, and at the moment maybe without tires”.

It will be more than a ‘few months’ for DirectX 12 to have a rich set of tutorials, support libraries, best practices, rock-solid drivers, and widely deployed support in the operating system on end-users machines. It’s “bleed edge” right now, and best consumed by GPU graphics programming experts actively working on titles and engines today who want to make sure it all works.

For everyone else, learn DirectX 11 at least for the next year or so, and possibly longer depending on the needs of your app, your personal skill level, and the focus of what you are trying to learn in the meantime.

What I can say is that learning to program DirectX 11 using the legacy DirectX SDK stuff like D3DX is a dead-end for DX12. Focus instead on DirectX 11 using ‘modern’ helpers like DirectX Tool Kit and DirectXMath for C++.

UPDATE: DirectX Tool Kit for DirectX 12 is now available along with some tutorials. That said, it is best to learn Direct3D 11 first as Direct3D 12 is an API designed for graphics experts and is quite unforgiving for newbies. Knowing how to use DirectX Tool Kit for DX11 will naturally map to the DirectX 12 version if you want to go that route.

Leave a Comment