I recently discovered a listing of free graphic programming books via GameRendering.com. A couple are a bit dated but are still good resources on graphic hardware programming and the mathematical concepts behind (advanced) lighting and shadowing techniques.
- Programming Vertex, Geometry, and Pixel Shaders: 2nd Edition
- Direct3D ShaderX Vertex and Pixel Shader Tips and Tricks
- ShaderX2: Introductions and Tutorials with DirectX 9
- ShaderX2: Shader Programming Tips &Tricks with DirectX 9
- The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics
- GPU Gems
- GPU Gems 2
- GPU Gems 3
(The first book is actually pretty new and covers DirectX 10. It is free while the authors work out a publishing deal. They would appreciate you purchase a print version when available.)
By the way, why Nvidia put some bald dude’s ugly head on the cover of their latest GPU Gems book instead of one of those pretty little fairies they’re famous for is beyond me.
GPU Gems 3 has a chapter on the deferred shading solution used in Tabula Rasa, the last published game I both shipped and said good-bye to. The article was written by our client lead, and one of my mentors, Rusty Koonce. He was gracious enough to give me a prop in that book:
I would like to thank all of the contributors to this chapter, including a few at NCsoft Austin who also have helped make our rendering engine possible: Sean Barton, Tom Gambill, Aaron Otstott, John Styes, and Quoc Tran.
That’s nice, but make no mistake, Rusty was the real brains behind it. Well, and maybe John too. 😉