From Wikibooks, open books for an open world
Jump to navigation Jump to search

Goals[edit | edit source]

This book will teach you to use Direct3D, covering various topics such as lighting, normal mapping, texturing and more.

Requirements[edit | edit source]

The DirectX 10 tutorials are written using C++ with HLSL and use shader version 4.0 and 5.0. Please ensure that your hardware can support these. Running on software mode has some problems, especially being terribly, horribly slow.

Before writing any graphics code we'll need to have the tools to do so. The first of these tools is a compiler that is preferably built into a nice IDE. The one I use and will be supplying project files for is Visual Studio 2010. There are several others available and some are even free off the net. I'll leave that up to you to decide which one you prefer.

The second tool you will need is the DirectX SDK. It can be downloaded from Microsoft's website for free. After downloading and installing the SDK you will have the files necessary to compile DirectX programs. You will also notice it comes with samples, tools, and documentation. The documentation is pretty good, it also has some very simple examples under the DirectX 10 tutorials section which also applies to DirectX 11. The tools that come with it are also useful, we'll be using the DDS texture tool quite often. The sample browser also provides some simple examples to achieve certain effects you may be looking to do. The samples will generally also have some of the new features of the latest SDK demonstrated.

The June 2010 SDK can be downloaded at:

With both installed you can now setup your IDE to work with the DirectX 11 SDK. Please note that some IDEs will need to be installed first before installing the DirectX SDK.

Credits[edit | edit source]

This book is a copy of Craig's work at All credit shall go to him. He's putting some hard work into this.

Index[edit | edit source]

Chapter 01: Setting up DirectX11 with Visual Studio 02 Chapter 02: Creating a framework and window
03 Chapter 03: Initializing DirectX 11 04 Chapter 04: Introduction to buffers, shaders and HLSL
05 Chapter 05: Texturing 06 Chapter 06: Diffuse lighting
07 Chapter 07: 3D Model Rendering 08 Chapter 08: Loading Maya 2011 models
09 Chapter 09: Ambient Lighting 10 Chapter 10: Specular lighting
11 Chapter 11: 2D Rendering 12 Chapter 12: Font Engine
13 Chapter 13: Direct Input 14 Chapter 14: Direct Sound
15 Chapter 15: FPS, CPU Usage and Timers 16 Chapter 16: Frustum Culling
17 Chapter 17: Multitexturing and Texture Arrays 18 Chapter 18: Light Maps
19 Chapter 19: Alpha Mapping 20 Chapter 20: Bump Mapping