This is the first in a series of tutorials which will allow you to create your own game engine (from initialization, to a fully rotatable, height mapped 3D world!).
Although this particular edition is quite simple, it explains many of the key concepts to writing a DirectX application. Even if you have some experience with this API, I would advise you to at least skim read through this document before attempting other tutorials.
Please note that DirectX is not a good subject for beginners to programming or managed code - it makes full use of many features such as event handling etc. This tutorial will assume that you are familiar with the managed environment, C#, and Visual Studio.
The code from these tutorials is taken from my own game engine: MAGEngine.NET, at different stages in development.
Using the code
You may use all of the code I provide as how you see fit, except to create another tutorial. You can use it as a sturdy(ish ;)) framework for your own applications, or print loads of copies off so that when I'm rich and famous you can sell them for $100 each ;)
To do this series of tutorials, you will need:
- C# Compiler (preferably Visual C# 2005 Express)
- Managed DirectX 9.0 October SDK
What Is DirectX?
DirectX is an API designed to give you (the programmer) a set of functions to access the GPU (Graphics Processing Unit) of a computer. Managed DirectX is split into multiple sections:
- DirectX Graphics
- DirectX Sound
- DirectX Input
The First Steps
Before you can go ahead and make Doom IV, you need to slow down and take a few simple steps. First, download and install the DirectX SDK. Then install it to your hard drive. Now, in Visual C#, create a new Windows application called “DirectX Project”. To use the DirectX API, you need to tell the compiler to add certain references – just as in any other managed application. To do this, go to the Solution Explorer, and right click on the References folder. Click “Add Reference”. From there, choose the following references to add to your project:
Now, all you need to do is add
using statements for these namespaces to the top of your code files. Now, when you make a new Windows application, Visual Studio generates more code than you need for a DirectX application. So, delete the “Designer” file for your window class, as we do not need this.
When you have done this, save your work and move onto Tutorial 2: Initializing Direct3D!
Please send all emails to firstname.lastname@example.org. I do have MSN Messenger, my email address for this is email@example.com.
- 19/01/06: Submitted tutorials 1-3 to CodeProject.