From: http://diaryofagraphicsprogrammer.blogspot.com/2009/11/you-want-to-be-graphics-programmer.html
Author: Wolfgang Engel
I regularly receive e-mails with the question what kind of books I recommend if someone wants to become a graphics programmer. Here is my current list (maybe some of you guys can add to this list?):
First of all math is required:
- Vector Calculus
- Vector Calculus, Linear Algebra, and Differential Forms I have the 1999 version of this book
- Computer Graphics Mathematical First Steps
- Mathematics for Computer Graphics
For a general knowledge in programming the CPU:
- Write Great Code Volume 1: Understanding the Machine
For a better knowledge on how to program the GPU:
- DirectX documentation
- NVIDIA GPU Programming Guide
- ATI GPU Programming Guide
To learn about how to program certain effects in an efficient way:
- ShaderX - ShaderX7
- GPU Gems - GPU Gems 3
- GPU Pro and GPU Pro Blog
To start learning DirectX 10 API + Shader Programming:
- Introduction to 3D Programming with DirectX 10
- Programming Vertex, Geometry and Pixel Shaders
To start learning OpenGL & OpenGL ES:
- Khronos group
For general overview:
- Real-Time Rendering
- Fundamentals of Computer Graphics (this one also belongs in the math section)
To get started with C:
- C Programming Language
To learn C++
- C++ for Game Developers
- C++ Cookbook
- there is a long list of more advanced C++ books ...