DirectX graphics and gaming

This content focuses on using DirectX in a Win32 application. For information on using DirectX in a UWP application, see the Windows game development guide (UWP).


For descriptions of and links to DirectX components in active development, see the blog post DirectX Landing Page.

In this section

Topic Description
Getting Started with DirectX graphics Microsoft DirectX graphics provides a set of APIs that you can use to create games and other high-performance multimedia apps. DirectX graphics includes support for high-performance 2D and 3D graphics.
Programming DirectX with COM The Microsoft Component Object Model (COM) is an object-oriented programming model used by several technologies, including the bulk of the DirectX API surface.
Direct2D Direct2D is a hardware-accelerated, immediate-mode, 2D graphics API that provides high-performance and high-quality rendering for 2D geometry, bitmaps, and text.
Direct3D Direct3D enables you to create 3D graphics for games and scientific apps.
DXCore DXCore is an adapter enumeration API for graphics and compute devices, so some of its facilities overlap with those of the Microsoft DirectX Graphics Infrastructure (DXGI).
DirectWrite DirectWrite supports high-quality text rendering, resolution-independent outline fonts, and full Unicode text and layouts.
DirectStorage DirectStorage is a feature intended to allow games to make full use of high-speed storage (such as NVMe SSDs) that can deliver multiple gigabytes a second of small (for example, 64kb) data reads with minimal CPU overhead.
DirectXMath DirectXMath provides an optimal and portable interface for arithmetic and linear algebra operations on single-precision floating-point vectors (2D, 3D, and 4D) or matrices (3×3 and 4×4).
DirectML Direct Machine Learning (DirectML) is a low-level API for machine learning. It has a familiar (native C++, nano-COM) programming interface and workflow in the style of DirectX 12. You can integrate machine learning inferencing workloads into your game, engine, middleware, backend, or other application. DirectML is supported by all DirectX 12-compatible hardware.
WindowsNumerics.h APIs The windowsnumerics.h header file defines C++ vector and matrix types in the Windows.Foundation.Numerics namespace. It extends the structs from Windows.Foundation.Numerics with a range of SIMD-accelerated mathematical operators and functions for compatible hardware.
Classic DirectX Graphics Microsoft DirectX graphics technologies that are currently minimally used. We do not recommend using these classic DirectX graphics technologies for new apps.
Tools for DirectX Graphics Describes tools for DirectX graphics.
DirectX Graphics Articles Contains technical articles for DirectX graphics.
XAudio2 APIs Provides a signal processing and mixing foundation for games. XAudio2 replaces DirectSound.
XInput game controller APIs XInput is a game controller API that enables Windows applications to process controller interactions (including controller rumble effects and voice input and output). XInput replaces DirectInput. We don't recommend using these classic DirectX input technologies; and newer apps should use the latest GameInput API instead. To learn more about the GameInput API, see GameInput introduction.