Chuck Walbourn edited this page May 10, 2018 · 28 revisions

DirectX LogoThe DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++.

See this blog post.

Getting Started

DirectXTK library


Game Gallery


DirectX 11

DirectX Tool Kit for DirectX 11 was formerly hosted on CodePlex. DirectX 11 is supported on Windows Vista SP2, Windows 7, Windows 8.x, and Windows 10. Use of DirectX 11 for beginners, indies, small projects, and small teams is highly recommended.

DirectX 12

A version of DirectX Tool Kit for DirectX 12 is available on GitHub. DirectX 12 is an expert API for Windows 10 which builds on knowing the ins & outs of DirectX 11. DirectX 12 is an extremely low-level API designed for graphic experts who have a solid understanding of the architecture of modern GPU hardware, and can essentially write the DirectX 11 Runtime from scratch. Both DirectX 11 and DirectX 12 provide access to the same hardware features on Windows 10, but drive the hardware in different ways which can allow a well-optimized DirectX 12 engine to achieve much lower CPU overhead than in DirectX 11.


DirectXTK is also available on NuGet


Porting from D3DX

See this post for a complete listing of D3DX equivalents.


The DirectX Tool Kit is the work of Shawn Hargreaves and Chuck Walbourn, with contributions from Aaron Rodriguez Hernandez, and Daniel Roman.

Thanks to Adrian Tsai for the geodesic sphere implementation.

Thanks to Garrett Serack for his help in creating the NuGet packages for DirectX Tool Kit.

Thanks to Roberto Sonnino for his help with the CMO and DGSL rendering.

Thanks to Pete Lewis and Justin Saunders for the normal-mapped shaders implementation.

For Use

  • Universal Windows Platform apps
  • Windows desktop apps
  • Windows 7 Service Pack 1
  • Windows Vista Service Pack 2 with KB971644
  • Xbox One

For Development

  • Visual Studio 2017
  • Visual Studio 2015
  • Xbox One XDK

Related Projects

DirectX Tool Kit for DirectX 12




Content Exporter


Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.