Upcoming Events
Unite 2010
11/10 - 11/12 @ Montréal, Canada

GDC China
12/5 - 12/7 @ Shanghai, China

Asia Game Show 2010
12/24 - 12/27  

GDC 2011
2/28 - 3/4 @ San Francisco, CA

More events...
Quick Stats
39 people currently visiting GDNet.
2406 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!
Link to us Events 4 Gamers
Intel sponsors gamedev.net search:

The DirectX SDK is an API developed by Microsoft that allows programmers to access the hardware directly in Windows. These articles cover all aspects of DirectX, including DirectDraw, Direct3D, DirectSound, DirectMusic, DirectInput, and DirectPlay.

GameDev.net is proud to be part of the Microsoft DirectX Developer Community.

For more information about DirectX, check out:

Resources Listed: 98
DirectDraw DirectX Audio
Direct3DDirectX Graphics
Subcategory: DirectDraw
Topic Author Description
16-bit Color
[Added: 11/23/1999]
TANSTAAFL  Another article covering 16-bit color? Considering how often the issue comes up, why not? Besides, it's by TANSTAAFL. 
16-Bit Pixels
[Added: 7/25/1999]
Sam Christiansen  How to plot pixels in 16-bit DirectDraw modes 
Bit Depth Independent Pixel Plotting in DirectDraw
[Added: 7/25/1999]
Ron Hiler  Describes how to plot pixels in DirectDraw, regardless of the bit depth. 
Creating a Quake-like Console Using DirectDraw
[Added: 5/17/2000]
Pranay Uppuluri  You know you want a Quake-like console in your game. This article will show you how. 
DirectDraw Programming Tutorial
[Added: 8/7/1999]
Lan Mader  A wonderfully comprehensive introduction to programming with DirectDraw. 
Loading and blitting bitmaps
[Added: 7/5/2000]
Matthew Allen  Explains how to load bitmaps using the ddutil library. 
Loading Bitmap Files into DirectDraw
[Added: 6/22/2000]
Kieren Johnstone  Describes how to use Windows functions to load a bitmap to a DirectDraw surface. 
Plotting Pixels in Non-Palettized DirectDraw Surfaces
[Added: 7/31/1999]
Nathan Davies  Another look at 16 bit surfaces 
Quick Example DirectX Code
[Added: 7/31/1999]
Unknown  A very useful page containing many oft-used bits of DirectX code. 
Re: How do I use 16-bpp surfaces?
[Added: 7/25/1999]
Dennis Muller  A post explaining working directly with surface memory for 16-bit DD surfaces 
Re: How do I use 16-bpp surfaces? (another response)
[Added: 7/25/1999]
Nick Caldwell  Another message from the same thread 
Setting up DirectDraw 7
[Added: 7/5/2000]
Matthew Allen  Provides instructions and source code for setting up a basic DirectDraw application. 
Using DirectDraw's Gamma Controls to Perform a Fade
[Added: 5/17/2000]
Joseph Fernald  Suggests using the gamma control for fades to avoid modifying surface data. 
Subcategory: DirectInput
Topic Author Description
Converting Scan Codes to ASCII
[Added: 11/12/1999]
Photon  This article describes how to convert scan codes using Win32 functionality. 
Cop a Feel....with Haptic Peripherals!!!
[Added: 2/22/2000]
Chuck Walters  Covers taking advantage of force feedback features with DirectInput 5. 
DirectInput Initialization
[Added: 2/21/2001]
Anthony Wlodarski  Covers the necessary steps in setting up DirectInput objects and devices. 
DirectX 8 and the Keyboard
[Added: 1/2/2002]
Mason Smith  Provides basic coverage of the keyboard under DirectInput, including a class wrapper. 
DirectX 8 and the Mouse
[Added: 1/18/2002]
Mason Smtih  A follow up to the author's keyboard article. 
Flexible User Input Programming – An Idea
[Added: 3/14/2001]
Yordan Gyurchev  Describes a method of creating a user-customizable, flexible input system using DirectInput. 
Programming Mouse and Keyboard with DirectInput 3.0
[Added: 8/7/1999]
Peter Donnelly  Although it's a little dated, this article gives a detailed overview of DirectInput. 
Subcategory: Direct3D
Topic Author Description
An Overview of Direct3D
[Added: 11/22/2002]
Bipin Patwardhan  If you are new to Direct3D, this article will give you a good overview. Note though that the version of DirectX used is several versions old, and many things have changed in recent releases. 
Direct3D 7 IM Framework Programming 1: The Basics
[Added: 11/24/1999]
Wolfgang Engel  With DirectX 7 comes many improvements to the Direct3D component. This series will introduce you to them using sample applications and source code. 
Direct3D 7 IM Framework Programming 2: First Steps to Animation
[Added: 1/10/2000]
Wolfgang Engel  Part 2 covers some 3d theory basics and created an animated textured demo. 
Direct3D 7 Immediate Mode Framework Programming 3: Multitexturing
[Added: 5/29/2000]
Wolfgang Engel  The third installment in this series gets into multitexturing, and how it can be used to abtain more realistic lighting, as well as other effects. 
Direct3D 7 Immediate Mode Framework Programming 4: Building Worlds with X Files
[Added: 8/31/2000]
Wolfgang Engel  The latest installment in this series covers loading models and scenes using Microsoft's X file format. 
Direct3D 9.0 with Allegro
[Added: 1/25/2006]
Homer Cuevas  Tutorial and demo code for using Direct3D and Allegro together. 
Direct3D Immediate Mode
[Added: 2/1/2000]
Bipin Patwardhan  A little dated since it was written for DX5, but still a decent intro to D3D IM. 
Direct3D Immediate-Mode Tutorial
[Added: 9/23/1999]
Colin McCartney  This was written for DirectX 3, and thus prior to DrawPrimitive, so its usefullness is limited, but it is included here for completeness. 
Direct3D Without All The Garbage
[Added: 6/8/2000]
Lee Mazurek  Explains an easy way to implement the bare minimum of 3D engine features. 
DrawPrimitive Tutorial
[Added: 7/31/1999]
Mark Feldman  Direct3D IM is an often underdocumented topic across the net. This is one of the best tuturials for getting started with the DrawPrimitive extension to the DirectX API, introduced with DirectX 5. 
From 3D Studio Max to Direct 3D Part 1: Introduction to Plugin Development
[Added: 2/23/2000]
Loic Baumann  Part 1 of the series gives an overview of creating a 3DSMax plugin to export to your Direct3D engine. 
From 3D Studio Max to Direct3D Part 2: How to Create a Plugin
[Added: 2/23/2000]
Loic Baumann  Part 2 of the series gets into the details of creating the plugin. 
Inside Direct3D: Chapter 12 -- Stencil Buffers
[Added: 8/9/2000]
Peter Kovach  This excerpt from the book covers usign D3D stencil buffers to create a variety of effects. 
Mip-Mapping in Direct3D
[Added: 11/9/2000]
Johnathan Skinner  This article explains what mip-maps are, how to create them, and how to use them in Direct3D. 
Multitexturing in DirectX 6
[Added: 7/31/1999]
Jason L. Mitchell, Michael Tatro and Ian Bullard  One of the best new features in DirectX 6.0 is multitexturing. This well-written document describes everything you need to know to get experienced with the new extensions to the API. 
Optimizing Direct3D Applications for Hardware Acceleration
[Added: 2/22/2000]
Jason L. Mitchell  As the title suggests, contains some good tips for getting the most out of D3D. 
Rendering to Texture Surfaces Using DirectX 7
[Added: 3/2/2001]
Kim Pallister  Explains using this technique and applying it to dynamic environment maps and soft shadows. 
The Future of PC Gaming – The Possibilities of Direct3D 10
[Added: 4/28/2006]
Oluseyi  We sat down with ATI to discuss what Direct3D 10 and the next generation of hardware will offer for game developers. 
Transparency in D3D Immediate Mode
[Added: 10/13/1999]
Nathan Davies  Covers how to handle textures with transparent pixels. 
Subcategory: DirectPlay
Topic Author Description
A DirectPlay Tutorial
[Added: 10/5/1999]
Sobeit Void  A good introduction to DirectPlay, with a lot of source code examples. 
Subcategory: DirectX Audio
Topic Author Description
3D Sound with DirectX Audio
[Added: 2/13/2003]
Toby Murray  This tutorial gives a basic explanation of how to use DirectX Audio to create and play 3D sound effects. 
Direct Sound Sample
[Added: 7/31/1999]
Nathan Davidson  Sample C source code to get DirectSound up and running. 
DirectMusic Symphony In C++ Part One - Using DirectMusic to make music in your games
[Added: 1/9/2001]
Mike Parker  Shows you the basics of DirectMusic, how to get it up and running, and how to load and play a midi file. 
[Added: 7/31/1999]
Brian Schmidt  Although written for DirectX 3, this article still provides a good introduction to 3D sound in DirectSound. 
Playing MIDIs and WAVs using DirectX
[Added: 4/18/2003]
Stephen Johnson  Basic introduction to playing sounds with DirectX. 
Streaming Wave Files with DirectSound
[Added: 9/14/1999]
Mark McCulley  An overview on DirectSound from Microsoft. Note that this was written with DirectX 2 in mind, so it's a little out of date. 
Using DirectX Audio 8
[Added: 2/6/2002]
Mason Smith  Covers the basics of setting up DirectX Audio and playing sounds. 
Subcategory: General
Topic Author Description
Borland C++ 5.0 Setup For DirectX 5.0
[Added: 7/25/1999]
Bruce Veazie  How to make DirectX work with BC++ 5 
Building an .X File Frame Hierarchy
[Added: 9/24/2001]
Jim Adams  Shows you how to load and create a frame hierarchy from an .X file. 
Building Game Explorer Support Into Your XNA Project
[Added: 6/18/2008]
Chris Charabaruk  Learn how to take advantage of Vista's Game Explorer in your XNA project 
Character Animation with DirectX 8.0
[Added: 1/16/2002]
Johannes Leimbach  Provides instructions and a wrapper class for loading and MD2 model in DirectX 8. 
Converting MS-DOS-based Games to Windows 95: A Report from the Trenches
[Added: 8/7/1999]
Zachary Simpson  While the urgency of this topic has subsided slightly as the masses have generally moved to Windows, this article still is useful to those who are wanting to convert that DOS game to Windows. 
Developing a GUI Using C++ and DirectX Part 1
[Added: 5/17/2000]
Mason McCuskey  Mason kicks off the series with a look at handling mouse input. 
Developing a GUI Using C++ and DirectX Part 2
[Added: 5/17/2000]
Mason McCuskey  This installment gets into the meat of the GUI, implementing the windows and message handler. 
Developing a GUI Using C++ and DirectX Part 3
[Added: 5/17/2000]
Mason McCuskey  This issue covers the controls you'll be adding to your GUI. 
Developing A GUI Using C++ and DirectX Part 4
[Added: 9/15/1999]
Mason McCuskey  Mason wraps up the series, covering resource editors and a few loose ends. 
Direct X-tasy
[Added: 7/31/1999]
André LaMothe  An introduction to DirectX by the well-known author. 
DirectX 7 Enumeration
[Added: 10/11/1999]
Nathan Davies  Takes you through how to enumerate available devices and modes to allow you to adapt to different hardware, or let the user select a mode. 
DirectX AppWizard for VS.Net
[Added: 4/7/2002]
Scott Chappel  283 K 
Downloading the DirectX SDK
[Added: 7/29/1999]
N/A  Get the DirectX SDK and other official resources here. 
Fast Graphics Under Windows
[Added: 9/14/1999]
Seumas McNally  Covers the basics of fast graphics in Windows using either DirectDraw or CreateDIBSection(). 
Generating a Screenshot in DirectX 8.1
[Added: 7/2/2002]
Keith Newton  Explains how to output a screenshot using only a few lines of code. 
Getting DirectX 8.1 to Work with Dev-C++
[Added: 3/16/2004]
Sherman Chin  Walks through some of the problems encountered setting up DX with DevC++. 
How to parse .X files
[Added: 9/13/2001]
Jim Adams  Provides coverage of what you need to know to start working with .X file-based meshes. 
Integrating Direct3D 8.1 With MFC Using Visual Studio 6.0
[Added: 3/2/2002]
Frank D. Luna V  This paper walks the reader through setting up a simple DirectX application in the MFC framework using wizards and the document/view architecture. 
Loading a Texture From a Zip File in DirectX 9
[Added: 9/11/2003]
Greg Stewart  This is a simple article on how to load textures from .ZIP files using DirectX 9. 
Managed DirectX
[Added: 8/17/2003]
Craig Andera  A couple of articles covering managed Direct3D and DirectSound. 
Moving from Exclusive Mode to Windowed Mode in DirectX Part I
[Added: 3/20/2000]
null_pointer  If you've had trouble moving your DirectX game to windowed mode, or want it to be able to switch back and forth while running, this article will get you there. 
Moving from Exclusive Mode to Windowed Mode in DirectX Part II
[Added: 6/6/2000]
null_pointer  This installment improves the functions presented in part 1, and shows you how to improve the responsiveness and look of your game in both modes. 
Multiple Monitor Support Code
[Added: 8/15/2000]
David Stubbs  This code allows the user to select which video card to use if there are more than one present. 
Playing AVI Files with DirectX
[Added: 9/21/1999]
Gert Wollny  Provides a class for playing AVI files and describes how to use it. 
Starting Direct3D9: Setting Up a Window
[Added: 5/20/2003]
Mason Smith  This article will teach you the basics of Direct3D and using it to setup a Direct3D-enabled window. 
Working with the DirectX .X File Format and Animation in DirectX 9.0
[Added: 3/30/2004]
Jason Jurecka  Sets up a working model and plays animations for that model using the .X format. 
Xtreme Debugging
[Added: 7/31/1999]
André LaMothe  In this article, André LaMothe describes how to overcome the challenge of debugging in full-screen DirectX by using two monitors. 
Subcategory: DirectX Graphics
Topic Author Description
2D in Direct3D using Textured Quads
[Added: 7/31/2003]
Eamonn Doherty  This article is for people trying to make a 2D graphics engine using Direct3D 9. 
2D Programming in a 3D World
[Added: 6/16/2001]
George Geczy  Focuses on how to use DirectX 8 for 2D games. 
2D Rendering in DirectX 8
[Added: 7/6/2001]
Kelly Dempski  This article will present a framework for 2D rendering in DirectX 8 to ease the transition from DirectDraw to Direct3D.  
A Non-Integer Power Function on the Pixel Shader
[Added: 5/7/2003]
Phillippe Beaudoin and Juan Guardado  Presents a simple shader trick that performs a good per pixel approximation of a non-integer power function. 
An Overview of Microsoft's Direct3D 10 API
[Added: 12/15/2005]
Jack Hoxley  A high-level overview of Microsoft's upcoming evolution of Direct3D. 
Direct3D 9.0 with SDL
[Added: 5/17/2005]
Michael Conway  Illustrates how to use SDL instead of native Win32 to set up a Direct3D application. 
DirectX 8 Graphics and Video: A Fresh Start
[Added: 11/30/2000]
Toby Jones  DirectX 8 is easily the most significant update to the API yet. In this article, the author covers what's new and provides you with samples of how to use it. 
DirectX Graphics for Visual Basic Part 1
[Added: 2/17/2001]
Jack Hoxley  The series begins with an introduction to using DirectX 8 in Visual Basic and created a simple Direct3D application. 
DirectX Graphics for Visual Basic Part 2
[Added: 4/6/2001]
Jack Hoxley  The second installment in this series covers Direct3D essentials in Visual Basics, including geometry and vertex and index lists. 
DirectXGraphics for Visual Basic Part 3
[Added: 12/31/2001]
Jack Hoxley  The final installment in this series covers using textures in Direct3D, loading 3D models from files, and using the Direct3D lighting engine.  
Dissecting Sprites in Direct3D
[Added: 1/5/2002]
R. Parker  This article explores the inner workings of sprite drawing in DirectX 8. Using a low level approach, programmers can gain more control over their rendering code and address the shortcomings of any DirectX blitter. 
Getting Rid of the Windows Message Pump & Solving the ALT-TAB Problem
[Added: 12/5/2000]
Javier F. Otaegui  Discusses how to use multiple threads to avoid having to use a finite state machine and use a traditional linear programming model. Also covers how to suspend your game when it's not active. 
Implementing Immediate Mode in Direct3D
[Added: 7/13/2003]
Promit Roy  Covers the creation of a set of wrappers emulating OpenGL's immediate mode functions for use in porting or quickly prototyping code. 
Implementing Skin Meshes with DirectX 8
[Added: 6/7/2002]
Sarmad Kh Abdulla  This article covers the implementation of skinned meshes in D3D and D3DX, including sample source code. 
Introduction to Shader Programming Part II: Programming Vertex Shaders
[Added: 4/24/2002]
Wolfgang F. Engel  The second installment demonstrates the use of vertex shaders in a program that evolves through several stages. 
Introduction to Shader Programming Part III Fundamentals of Pixel Shaders
[Added: 5/15/2002]
Wolfgang F. Engel  The third installment in this series moves on to pixel shaders, providing a complete introduction to them. 
Introduction to Shader Programming Part IV: Programming Pixel Shaders
[Added: 6/11/2002]
Wolfgang F. Engel  The fourth and final installment of this series digs into the details of implementing pixel shaders. 
Occlusion Culling Using DirectX 9
[Added: 8/6/2004]
Dustin Franklin  Explains how to do occlusion culling using occlusion queries. 
Shader Programming Part I: Fundamentals of Vertex Shaders
[Added: 4/9/2002]
Wolfgang Engel  The first article in this series provides a brief overview of shaders in general and a high-level discussion of vertex shaders in particular. 
Using Vertex Buffers With DirectX
[Added: 5/26/2003]
Erik Yuzwa  A few tips and pointers for working with vertex buffers. 
Using Vertex Tweening for Animation
[Added: 11/26/2003]
Brian Jorgensen  Explains how to use DirectX's built-in vertex tweening functionality for animation. 
Subcategory: DirectShow
Topic Author Description
The Basics to Using DirectShow
[Added: 3/13/2001]
Kurifu Roushu  A simple explanation and example of using DirectShow 
 Key: = HTML article hosted here  , = HTML article hosted elsewhere  = link to another web site  = Adobe Acrobat document  = Zip files  = Word or text document