This document reviews the prerequisites you should consider when planning to develop a Windows Store app using DirectX, including the specific technologies you must be familiar with before you dive in.
What should I know to develop a Windows Store game using DirectX?
Before you start developing a Windows Store app using DirectX you need to know some Windows programming -- and programming in C++. Windows Store apps using DirectX are developed at a lower level of programming, which means that you will be exposed to many more features of the operating system, including memory and resource management, and the interface for the graphics device itself. If you are new to game or graphics app development, you may find this challenging, but you will also find it rewarding, because learning game development at this level creates far, far greater possibilities for game and graphics app design and development as you progress in knowledge and experience -- and imposes far fewer constraints.
You'll also need to understand the basics of 2D and 3D graphics programming and mathematics, because many of the APIs you'll use were developed with these principles in mind, and it'll be easier for you to understand their parameters and results if you are familiar with the operations behind them.
At the minimum, you should have a grasp of the following:
- Windows C/C++ programming. This means that you understand pointers and references, events and callbacks, and perhaps a few of the common libraries like ATL.
- The Windows Runtime. You understand how user interface events are handled, in particular. You also understand a little bit about views and how system resources are managed.
- Linear algebra and trigonometry. While not essential, you'll have an easier time if you are familiar with concepts from these two math disciplines, because they are the foundation of much of 3D graphics programming.
- Basic graphics terminology and concepts, such as bitmaps, textures, vertices, meshes, and viewports.
What does DirectX provide me?
DirectX is the primary set to graphics APIs you'll use to develop Windows Store games. Here are the categories of features that you must become familiar with when deciding how to develop your game.
| Library | Description |
|---|---|
| Direct3D | A powerful, performance-oriented, hardware-accelerated set of libraries for rendering 3D graphics. |
| Direct2D | A set of 2D graphics libraries for hardware-accelerated bitmap and vector 2D drawing. |
| DirectXMath | A library of common optimized math operations used in 2D and 3D graphics, such as vector and matrix operations. |
| DirectWrite | A library of 2D text rendering and layout APIs. It supports both hardware acceleration and software rasterization. |
| XAudio2 | A low-level, cross-platform audio API for Microsoft Windows that provides a signal processing and audio mixing foundation for game development. |
| XInput | A library that supports various traditional gaming controls, with an emphasis on Xbox 360 controller model. |
What do I need to develop a Windows Store game with DirectX?
To get started, you need:
- Microsoft Visual Studio 2012
You can develop a complete game using Microsoft Visual Studio Express 2012 for Windows 8, but Microsoft Visual Studio Ultimate 2012 version has more extensive graphics debugging support and more tools for asset management.
Build date: 3/11/2013