So I had such plans for all the things I’d get done during the holiday break. Well, at least I fixed our bathtub faucet, and kept the world safe from/for zombies in Left4Dead versus mode.
In contrast, Wolfgang Engel, Jack Hoxley, Ralf Kornmann, Niko Suni, and Jason Zink did something nice for the world: gave us a DirectX 10 book for free online. There’s more information about it at the site hosting it, gamedev.net. To quote Jack Hoxley, “It’s more of a hands-on guide to the API at a fairly introductory/intermediate level so doesn’t really break any new ground or introduce any never-seen-before cool new tricks, but it should bump up the amount of D3D10 content is available for free online.”
There are some great topics covered, including a thorough treatment of shading models, lots about post-processing effects, and an SSAO implementation (which I disagree with their specific implementation a bit in theory – convex objects shouldn’t really have self-shadowing ever, that’s why you usually ignore half the samples that are obscured, as a start – but SSAO is so hacky that it should be considered an artistic effect as much as photorealistic one). Lots of chewy stuff here.
Don’t be fooled because the book is only on the web, by the way. This is a high-quality effort: well-illustrated, the sections I sampled were readable and worthwhile, and there are solid code snippets throughout. The authors didn’t work out a print deal that they liked, so released the book to the web. You can see its original listing on Amazon. To quote Jack again, “We’re all glad it’s now out … for everyone to use.”
If you find errors or problems in the book, please let the authors know – the whole book is on a wiki, so you can add discussion notes (note: I found the wiki doesn’t work well with Chrome, but Internet Explorer worked fine). As the gamedev.net article notes, this release may form the basis of a book on DirectX 11, so could be considered something of a free beta. Please do reward the authors for their hard work by contributing feedback to them.
Update: Do keep in mind that this is a first draft (i.e., cut them some slack). Reading more bits, quality varies by section. I trust the authors will read and fix each others’ work as time goes on. I do like the wiki element. For example, there are some comments from Greg Ward in the corresponding discussion page for the implementation of the Ward shading model that should help improve their text.