Everything you need to know to get started with DirectX and Direct3D.

H Dev
2 min readJul 29, 2023

--

What is DirectX? … DirectX is a product (more like collection of products) by Microsoft. It has various application programming interfaces (APIs) for handling the various tasks associated with multimedia, specially for video and game programming. It includes APIs such as Direct3D (for 3d graphics), DirectDraw (rendering 2d graphics), DirectMusic (for music, pretty self explanatory), DirectSound and so forth.

When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox to indicate that the console was based on DirectX technology.

DirectX is predominantly used for developing UWP games. UWP stands for Universal windows Platform.

Here is an example of using DirectX to program an UWP game.

Direct3D is powerful, performance-oriented, hardware-accelerated set of libraries for rendering 3D graphics in a game created for a Windows platform (UWP). So before you get started with programming UWP games, here are some topics that you need to familiarize yourself with :

  • C++
  • Basic graphics programming terminology. Here
  • A few basic math concepts such as vectors and matrices. Here
  • Basic windows programming concepts
  • DirectX 9 or later APIs.

Windows apps using DirectX are developed at a low level of programming, which means that you will be exposed to many features of the operating system. These include memory and resource management, and the interface for the graphics device itself. It could be challenging but at the same time equally rewarding as well.

DirectX games run at a lower level in the Windows Runtime stack, they need to interoperate with the user interface framework more fundamentally: by accessing and interoperating with the app object directly.

So getting started, we can build up to programming games for Windows platform and Xbox.

References (Windows documentations I’ve found helpful) :

--

--

H Dev
H Dev

Written by H Dev

just another X-shaped personality, love to learn and tinker with new tech.