Click here to Skip to main content
Click here to Skip to main content

Managed DirectX Tutorials: Part 1 - Setting Up DirectX

, 3 Feb 2006
Rate this:
Please Sign up or sign in to vote.
This is the first in a series of tutorials designed to show you how to create a basic terrain engine.

Introduction

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.

Background

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 Wink | ;) ) 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 Wink | ;)

Prerequisites

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:

  • Microsoft.DirectX
  • Microsoft.DirectX.Direct3D

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!

Contact

Please send all emails to xpyder@magclan.cwhnetworks.com. I do have MSN Messenger, my email address for this is jamespraveen@aol.com.

History

  • 19/01/06: Submitted tutorials 1-3 to CodeProject.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

James Gupta
Web Developer
United States United States
I live in England, UK in a small town which only just got broadband...
 
In my spare time, I run a small website design, hosting and maintenance business at www.jamesgupta.com

Comments and Discussions

 
QuestionWhere is directX? Pinmemberniko7815-Aug-06 13:34 
AnswerRe: Where is directX? PinmemberJames Gupta20-Aug-06 4:57 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web01 | 2.8.141022.1 | Last Updated 3 Feb 2006
Article Copyright 2006 by James Gupta
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid