PrerequisitesNow, some of you might be wondering why we are using Win32 rather than a cross-platform wrapper like SDL or GLFW. Well, since we'll be using Microsoft DirectX to handle everything from our graphics to our sound, there's really no need for a cross-platform solution. Using Win32 may not be as easy as SDL or GLFW, but it will allow for a much more customizable user experience. Before we get started though, we need to make sure you have all the prerequisites required for this tutorial series.
These are not the only prerequisites you will need. As the series progresses, we'll be adding more dependencies.
ExperienceThe first and most important prerequisite for this tutorial is C++ experience. This tutorial is not intended for C++ newcomers. I recommend you have knowledge of, and experience working with all or most of the following C++ concepts:
- Using and writing operator methods
- Dynamic memory management
- Using and writing namespace, classes, and structures
- Using friendship, inheritance, and polymorphism
- Type casting
- C++11 changes
SoftwareKnowledge and experience aren't the only things needed for this tutorial series. You'll need the help of a few software packages to get the most out of this tutorial series. Though it is possible to substitute most of the packages listed below with other packages (possibly open-source), I will not explain how to do so as this tutorial series is designed to be used with the packages below. Microsoft Windows Obviously this is the most important piece of software you'll need. Without a complete, working Windows environment, you would have nowhere to compile or test your code. I recommend that you do not install Windows through a virtual machine as this will severely increase compiling time and keep you from being able to properly test your project. For this tutorial series I will be using Windows 7 Professional 64-bit. This tutorial is not tailored for use with any other Windows version (e.g. Vista or 8), although I don't see any reason why it wouldn't work with Windows 8 (though I currently am unable to test it). I also recommend using a 64-bit install of Windows as it will allow you the ability to use more than 4GB of RAM, allowing for more available memory (if you have more than 4GB).
Microsoft Windows XP and prior do not support DirectX 11.Microsoft Visual Studio 2010 Now, we'll need a compiler. I've opted for Visual Studio rather than open-source equivalents because I have a lot of experience with it. Now, if you want to download Visual Studio, you can go to the Visual Studio download page and grab Visual C++ Express 2010. I will be using Visual Studio 2010 Professional, but this turorial series is designed for use with Express. If you will be using Visual Studio 2012, you will need to change your Platform Toolset setting for the project (please find a tutorial on how to do so). Microsoft DirectX SDK Without the DirectX SDK, you would have no way of using any of the DirectX modules. You will need to pick up the latest one (June 2010) from the download page. After installation, it should create a folder in your Program Files (or Program Files (x86) on 64-bit Windows) called Microsoft DirectX SDK (June 2010). In here is pretty much everything you need to get working with any of the DirectX modules. Please note that for graphics, we will be using Direct3D 11. The June 2010 SDK is currently the only SDK version that supports Direct3D 11 and thus using a prior one will not allow you to complete this tutorial series properly.
In Microsoft Windows 8 and above, you will need to download the Windows SDK rather than the file above (the DirectX SDK comes packaged with the Windows SDK).
Lesson TasksPlease perform the following actions to prepare yourself for the next tutorial:
- Install all of the software packages described above (or your chosen equivalent).