Join the largest DeFi ICO (new crypto coin offering) in 2021 »
HOME · Welcome. This is my earlier site (~1997 to 2010); my new website is now here but some stuff remains on the scorpioncity site. - David Joffe
Game programming with DirectX
[ Home | Chapter 1 | Chapter 2 | Chapter 3 | Chapter 4 | Chapter 5 | Chapter 6 ]

Ye Olde Game Programming with DirectX Tutorial

(was "Game programming with DirectX")

Copyright (C) David Joffe 1997-2001.



Target audience: C/C++ Windows programmers who want to learn to write applications that use Microsoft's API, DirectX. There is some MFC stuff in here, but mostly I am trying to get rid of it. You don't need to know MFC.

Bugs: I have been made aware of a couple of bugs in the code sample. One day far in the future when I find time I will fix them.

1999/12: I have improved the sample ddsamp, and upgraded chapter 3 to be based on this. This demonstrates the PutPixel method described in Chapter 5. I made it with Visual C++ 6, so it includes VC project files, but you don't need VC to use this.

[New Note] Please note my opinions on APIs, including DirectX, have changed over the years - I'm now more positive about Direct3D. The industry has changed a lot. The APIs have changed and improved a lot, the technologies have changed and evolved in many ways (most the things I didn't like have either long been addressed, or don't matter that much in the grander scheme of things); meanwhile, I take a more neutral approach and just use 'whatever tool for the job', I don't have time to sit and be opinionated, I just want to solve problems. Everything has its positive points and negative points. These days the main other alternative is Vulkan as OpenGL has started to show its limitations (Vulkan is better designed to work and perform well in today're much more multi-core, parallel environment) - Vulkan is quite complex and arcane, but powerful (like Direct3D) - graphics APIs have become more complex, and so it tends to be a case of 'you're either working on a lot of low-level code (or a part of something larger), or using wrappers or frameworks or SDKs or tools like Unreal Engine or Unity, in which case many of the 'nuts n bolts' are 'hidden' from most developers (not really literally hidden) in many cases.

"The Microsoft implementation of OpenGL in the Microsoft Windows NT, Windows 2000, Windows 95, and Windows 98 operating systems is an implementation of the industry-standard OpenGL three-dimensional (3-D) graphics software interface with which programmers create high-quality still and animated 3-D color images" - Microsoft Knowledge Base



These are links to DirectX and graphics related books on Additional user reviews of these books can be found there.

cover Learn Computer Game Programming with DirectX 7.0 (Ian Parberry)
I think this is a good book for programmers who are new to game development and want to 'get into it'. It takes the reader through the entire process of writing a game in fair detail, and covers a lot of ground. I found the writing style fairly pleasant. I think this book would be useful for novices. Note: this book does not cover Direct3D. 3D graphics is a pretty broad topic on its own, and I think in general novice game programmers would be better off working through a book like this one first, then follow it by a book on 3D graphics programming.

cover Computer Graphics: Principles and Practice (Foley/van Dam/Feiner/Hughes)
This book is often referred to as the 'computer graphics bible' by those in the industry, and is generally regarded as a "must-have" book for anyone who is interested seriously in going into computer graphics programming. Although the book is slightly dated, most of the 1000+ pages of content are still relevant and useful, and the book contains a lot of information on 2D and 3D algorithms. This is the one book I do own a copy of. The book is heady reading, its not a "friendly tutorial" - if you are serious about going into graphics programming, you should definitely get this book, otherwise don't. This book is not specifically about game programming but more generally about graphics and animation. It does not cover DirectX, but from it you will be able to learn the principles of APIs such as DirectX.

cover Beginning Direct3D Game Programming (Andre LaMothe)
See user reviews for this book on

Other books:

FAQ (Frequently Asked Questions)

[ Home | Chapter 1 | Chapter 2 | Chapter 3 | Chapter 4 | Chapter 5 | Chapter 6 ]