Что почитать про программирование 3D графики?
Почитайте цикл статей на Хабре https://habrahabr.ru/post/248153/
Там все основы алгоритмов рендеринга с нуля описываются.
Если про DirectX, то с самих основ неинтересно, т.к. версии меняются очень быстро. Из самых последних это 9 (и то, за какой-то месяц, сейчас не помню), 10, 11, 12.
Вы должны знать C++, COM-объекты (интерфейсы), язык шейдеров (раньше был ассемблер, теперь похож на C: HLSL, опять же, версии растут как грибы во время дождя), приложения DXUtil (почти все примеры даются на этой библиотеке, к тому же у неё версия тоже меняется).
Так что сначала определяйтесь с версией (от этого зависит версия Windows), а потом ищете книги. Кстати, как с английским? Т.к. большинство книг на английском.