DirectX Basics

Street Raider

- What's the easy way to do <...> in Direct3D?
- Nothing in Direct3D is easy.
(talk in microsoft.public.win32.programmer.directx)

Being the coder of the Hugi interface I often receive messages with questions about DirectX programming. Of course I know a bit about this topic but I don't like to teach anyone because a lot of documentations and resources are available and I don't want to spend my time on retelling them. Anyway, I don't like speaking much... I'm not a writer, I'm just an ordinary coder. Here I want to give you a list of some available resources and a few comments of my own to help you start learning to code in DirectX yourself.

The first thing I want to say is that you took the right decision if you have chosen DirectX as a multimedia platform. I think it's one of the platforms with the most promising future perspective. It has a lot of advantages. The main disadvantage is that it's Windows 9x/NT only...

As DirectX is a native part of Windows it would be better for you to explore Windows programming first. It's not required but highly practical. If you like to skip that, you can use any sample as a template.

What language should you choose? I recommend to use C++ because it allows you to manipulate DirectX objects easily. But if you like you can also work with C or Delphi. It's possible but a bit awkward. I prefer Microsoft Visual C++ to write code and compile Windows applications. VC has a nice IDE (Integrated Developer Environment) that will help you code faster.

And you need the DirectX SDK (Software Developer Kit) to compile DirectX applications. VC 4.0 contains the DirectX3 SDK, VC 5.0 the DirectX5 SDK. The latest version of DirectX is 6 and you are free to get the latest SDK. Having downloaded an SDK, don't forget to add the paths to it in your compiler config. In case of VC, you can find it in the "Tools" menu. Click "Options", "Directories", "Include files" and "Library files".

At first it's better not to write one's own code but to look at some not too complicated sample, try to add something and view the results. When you try to build a sample, don't forget to link the DirectX libraries in order not to get "unresolved external" error messages from the linker. You have to simply add ddraw.lib or whatever to the list of libraries to be linked. Using VC you will find it in the "Project" menu, "Settings", "Link tab", "Object/library modules".

So, start exploring new lands. The following sites will help you.

 DirectX home page

 DirectX Links

 DirectX Workshop

 The DirectX eXperience

 Journals of a directx junkie

 DirectX at Game Programming

 Visual C++ Developers Journal

 Win32 Demo Programming Links

 The Win95 GPE

 Win32 Demo Programming Links

 Internet Resources for Windows Developers

 The Game Programming MegaSite

 The Game Developer's Resourcium

 The Game Programming MegaSite

 Strange Creations

 Prometheus Truecolor

 Reliable Software Programmers

 Internet Resources for Windows Developers

 Game Programming Galaxy

 Creating Hot Games

 3D Engines List

 Angelic Coders

 DirectX SDK Download

Updates of this list you will find at my home page:

- Street Raider // DDT. Ent.