home

Tutorial Index

DirectX Tutorial 0: Intro

If you’re here to learn DirectX, you already know what it is. Developed by Microsoft and currently at version 12, DirectX is probably the leading real time rendering technology. It’s direct opponent is OpenGL, which is non-proprietary but that also means there is no central reference for it.
DirectX is free, and it is mainly used with C++. Though theoretically you can use it with any C++ distribution, it is normally used with Microsoft’s Visual C++. This tutorial will not get into the details of how you set these up. The SDK for each has a straightforward setup process.
The tutorials are written on material developed in Microsoft Visual Studio 2010. The DirectX version used will be DirectX 9, since it has the largest backwards compatibility. However developing in DirectX 11 should be trivial once one is acquainted with 9. Furthermore, a version newer than 9 is not required as we have a lot of ground to cover before we can exploit the features of the later versions.
            Note: there is a chance that the installation of the DirectX SDK will mess up the Visual Studio installation. This is a problem acknowledged by Microsoft, and can be solved by performing a repair operation on Visual Studio, through it’s installer. Though time consuming, it should not put your software in peril, and definitely does not hinder your projects.

            DirectX typically builds upon the Win32Api. You can skip the Win32Api tutorials, but it is advised that you read through at least the Win32 main window tutorial, as well as the input/message handling tutorial.
The following tutorials will cover initialization of DirectX, 2D rendering, 3D rendering, light effects, and loading models from files, as well as some useful techniques for game development. Note that some tutorials may not have been added yet, content is uploaded when ready.

            Why DirectX?
            DirectX, though it is a low-level approach to graphics, is essentially the basis of all graphics applications in Windows, and lies under most if not all major game engines. When looking for jobs or internships, you will see that certain companies ask for people with real time rendering experience, and that generally refers to DirectX and OpenGL developers. DirectX also lies behind some major CAD applications, such as Autodesk’s 3DS Max and Maya, though these applications also use OpenGL as they target multiple systems.