What is Direct3D?

Direct3D is a low-level API that you can use to draw triangles, lines, or points per frame, or to start highly parallel operations on the GPU.

Direct3D:

Hides different GPU implementations behind a coherent abstraction. But you still need to know how to draw 3D graphics.

Is designed to drive a separate graphics-specific processor. Newer GPUs have hundreds or thousands of parallel processors.

Emphasizes parallel processing. You set up a bunch of rendering or compute state and then start an operation. You don't wait for immediate feedback from the operation. You don't mix CPU and GPU operations.

Which Direct3D APIs can you use?

The Direct3D APIs that you choose depend on the style of app you want to write.

If you write an app for the desktop, you can use the full set of Direct3D 11, DXGI, and HLSL APIs.

Starting with Windows 8, we no longer actively support the XNA framework for desktop apps. But Windows Store apps and desktop apps can use the full set of the XAudio2 and DirectXMath APIs. Desktop apps can use the full set of the XInput APIs, while Windows Store apps can use most of the XInput APIs; for more info, see XInput Versions.

Which Direct3D version?

The Direct3D API version that you choose depends on the operating system and hardware level that you want to target.