Prerequisites for developing a Windows Store app using DirectX
When you start to develop a Windows Store app using DirectX, keep the prerequisites on this page in mind. This includes the technologies you need to know before you dive in.
Before you start to develop a Windows Store app using DirectX, you need to know how to program in Windows with C++. Windows Store apps using DirectX are developed at a lower level of programming than other app models, which means that you will be exposed to many more features of the operating system. These include 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.
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. It'll be easier for you to understand their parameters and results if you are familiar with the operations behind them.
At a 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.
DirectX is the primary set of graphics APIs you'll use to develop Windows Store games. Here are the categories of features that you must become familiar with when you decide how to develop your game.
|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.|
To get started, you need:
- Microsoft Visual Studio 2013