Руки вниз, лучшая книга по «графическому программированию», которую я когда-либо видел, - « Введение в программирование трехмерных игр с DirectX 9.0c: подход шейдера » Фрэнка Луны. Он начинается с нуля с линейным праймером алгебры (абсолютно критическим), затем объясняет, как работает трехмерный конвейер (модель, мир, камера, ndc, представление) и как справиться с программным кошмаром, который является Directx;)
Он также охватывает некоторые продвинутые методы, такие как отражения и преломления и т. Д., Но как только вы изучите основы (первые 8 глав), вы в основном можете написать все, что захотите, в DirectX, а оставшееся время графического программирования будет потратить на чтение книг, таких как серия «Shader X» Вольфганга Энгеля, (особенно хороша Shader X7 ), GPU Pro (того же автора) и Gem Gem от Nvidia, которые они бесплатно размещают на своем сайте: Gpu Gems .